你能否幫我解決這個問題?我如何總結下面文檔中的qty
字段?我寫了一段代碼,當您訪問price
,age
等時似乎工作正常,但在訪問子文檔時似乎效果不佳。在這種情況下,total
= 0`。如何總結子文檔+ MongoDB + Javascript中的字段?
文件:
{
"_id" : ObjectId("50a8240b927d5d8b5891743c"),
"cust_id" : "abc123",
"status" : "A",
"price" : 75,
"age" : 24,
"ord_date" : "02/02/2012",
"items" : [
{
"sku" : "mmm",
"qty" : 5,
"price" : 2.5
},
{
"sku" : "nnn",
"qty" : 500,
"price" : 50
}
]
}
CODE:
exports.test = function(collection, callback) {
MongoClient.connect(url, function(err, db) {
assert.equal(null, err);
db.collection(collection).aggregate(
{
$match : { "price" : { $gt: 70, $lt: 90 }}
},
{
$group : { total: { $sum: "$items.qty" }}
},
function(err, result) {
console.log("result",result);
if (result) {
callback(result);
} else {
callback(false);
}
});
});
}
感謝您的幫助!
謝謝
我已經按照您的建議插入了一段代碼,但不幸的是,這沒有奏效。 db.collection(集合).aggregate( { $放鬆: 「$項」 },{ $ 匹配:{ 「價格」:{$ GT:70,$ LT:90}}} , –
開卷後匹配 –
結果仍然是未定義:( 。{ $匹配:{ 「價格」:{$ GT:70,$ LT:90}}} , { $放鬆: 「$項」 } , { $ group:{total:{$ sum:「$ items.qty」}} }, –