zoukankan      html  css  js  c++  java
  • MongoDB,子查询



    //1.从sub(订单明细)对订单号分组,查询最多子订单的单号一条数据,重命名orderNo字段为num

    //2.根据这个sub.num(从结果集里获取第一条结果),查询main(主档表)

    db.main.findOne(
      {
        "orderNo":db.sub.aggregate(
          {
            $group:{_id:"$orderNo",num:{$first:"$orderNo"},count:{$sum:1}}
          },
          {
            $sort:{count:-1}},{$limit:1
          }

          )._batch[0].num
        }
    )


    //打印公司名测试.

    //这里使用了.find 而 没用使用findOne 是因为 findOne 不支持forEache()函数

    db.main.find( { "orderNo":db.sub.aggregate( { $group:{_id:"$orderNo",num:{$first:"$orderNo"},count:{$sum:1}} }, { $sort:{count:-1}},{$limit:1 } )._batch[0].num } ).forEach(function(item){ print(item.companyname); } );

     

  • 相关阅读:
    百度--买帽子
    网易--双核处理器
    京东--通过考试
    简单错误记录
    链表中的倒数第k个结点
    数值的整数次方
    二进制中1的个数
    TCP 三次握手
    旋转数组的最小数字
    用两个栈实现队列
  • 原文地址:https://www.cnblogs.com/sweetchildomine/p/6431299.html
Copyright © 2011-2022 走看看