假设我有以下原型的文档。
{
cust_id: "abc123",
ord_date: ISODate("2012-11-02T17:04:11.102Z"),
status: 'A',
price: 50,
items: [
{ sku: "xxx", qty: 25, price: 1 },
{ sku: "yyy", qty: 25, price: 1 }
]
}
我的要求是获得SKU“XXX”的总价格,即50 * 25(价格时间数量)。如何在MONGODB中实现此查询的结果?
答案 0 :(得分:0)
db.YOUR_COLLECTION.aggregate({
$match: {
items.sku: "xxx"
},
$project: {
"product": {$multiply: ["$items.qty","$items.price"]},
_id: 0
}
});
答案 1 :(得分:0)
我能够通过将查询分成两个块来实现此解决方案,如下所示。
var pipeline1 = [
{
{
“$ unwind”:“$ items”
},
$match: {
items.sku: "xxx"
},
$project: {
"product":
{
$ multiply:[“$ items.qty”,“$ items.price”]
}, _id:0 } }];
R = db.tb.aggregate(管道);