0

假设我有以下原型的文档。

{
  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 中实现此查询的结果?

4

2 回答 2

0

我可以通过将查询分成两个块来解决这个问题,如下所示。

变种管道1 = [

{

{

"$unwind": "$items"

},

$match: {
    items.sku: "xxx"
},
$project: {
    "product":

{

$multiply: ["$items.qty","$items.price"]

}, _id: 0 } }];

R = db.tb.aggregate(管道);

于 2013-10-06T05:39:18.150 回答
0
db.YOUR_COLLECTION.aggregate({ 
    $match: {
        items.sku: "xxx"
    },
    $project: {
        "product": {$multiply: ["$items.qty","$items.price"]},
        _id: 0
    }
});
于 2013-09-30T11:00:07.293 回答