我有一个简单的父子对象存储为MongoDB中的文档。像Order / OrderItems这样简单化的东西。 (Order有一个OrderItem数组)
我想要做的是查询符合一系列标准的订单商品计数。
示例:在订单“999”中找出有多少订单商品的数量为3.
db.collection.find( {OrderId:999, "OrderItems.QuantityOrdered":3} ).count();
此查询的工作方式是返回“1”,因为如果它与数组中的至少一个OrderItem匹配,它将返回匹配的Orders计数。
如何查询“OrderItems”匹配的数量?:
答案 0 :(得分:3)
使用嵌入式文档无法直接返回此类计数。通过这种临时计数,您最好的办法是返回文档并从应用程序中进行计数。
如果要对大量订单执行此类计数,可以使用map-reduce,它会将结果输出到新集合。