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); } );

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM