我在MongoDB中使用db.collection.aggregate時遇到了問題。如何累計MongoDB的子文檔中的每個字段?
我有這樣的數據結構:
_id:...
Segment:{
"S1":1,
"S2":5,
...
"Sn":10
}
這意味着在Segment
如下:我可能有一個數值幾個子屬性。我想總結他們爲1 + 5 + .. + 10
問題是:我不確定子屬性名稱,因爲每個文檔的段號是不同的。所以我不能列出每個細分名稱。我只是想使用類似於for循環將所有值彙總在一起。
我試着像查詢:
db.collection.aggregate([
{$group:{
_id:"$Account",
total:{$sum:"$Segment.$"}
])
,但它不工作。
你需要改變你的模式是類似'段:5,值:400'並把它們放在一個陣列,或使用一個MapReduce。你無法對任意字段進行求和。 – WiredPrairie