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