因为您需要简单地从文档中过滤子文档 find 将无法过滤子文档。
find
你必须使用 的 聚合管道 强> 如下:
> db.st9.aggregate([ { $unwind:"$market" }, { $match: {"market.type":"sell"} }, { $group: {_id:"$market.console", "avg": {$avg:"$market.amount"}, "count": {$sum:1}, "totalSum": {$sum: "$market.amount"} } } ])
输出:
{ "_id" : "PS4", "avg" : 300, "count" : 1, "totalSum" : 300 } { "_id" : "Xbox", "avg" : 359, "count" : 3, "totalSum" : 1077 } >
有关聚合管道的更多参考,请查看以下官方mongo db文档: