0
用例:我有以下數據:使用金額與去年的MongoDB
{"accountNumber":"1-1", "details":["version":{ "number": "1","accountGroup":"1", "editable":"false" , "amount":100 }]}
{"accountNumber":"1-2", "details":[version":{ "number": "2", "accountGroup":"1", "editable":"false" , "amount":200}]}
{"accountNumber":"2-1", "details":[version":{ "number": "1", "accountGroup":"2", "editable":"false", "amount":200 }]}
凡:我的文檔帳戶。每個記錄都有一個accountGroup(1,2)。一個組可以有多個版本。賬戶號碼是由的AccountGroup &版本
組合初始化我想與他們的量之和相處的帳戶(使用accountNumber 1-2 & 2-1)的最新版本。
預期輸出:
{accountNumber:2-1}, {accountNumber: 1-2}, total: 400 (sum of amount of the latest versions of the account group)
我使用下面的查詢:
db.getCollection('account').aggregate([
{ "$sort": { "accountNumber": 1 } },
{ "$unwind": "$details"},
{ "$group": {
"_id": "$details.version.accountGroup",
"Latestversion": { "$last": "$$ROOT" },
"total": {
$sum: "$details.version.amount"
}
}
}])
它得到了所有屬於一組版本的總和。
電流輸出:
{"accountNumber": "1-2", total: 300}, {"accountNumber":"2-1", total: 200}
我是新來的MongoDB,任何幫助表示讚賞。期待着迴應。
謝謝,這個岩石。 –