2
我有一份文檔,其結構如下,我想在過去的2個月中添加2013.5和2013.4的總數,作爲獲取過程的一部分前10名包裝。
如果我使用的骨料
db.hits.aggregate(
{$project:{"total":{"$add":["$value.2013.5", "$value.2013.4"]}}})
這將在總回報數值只有在文檔中存在兩個領域。如果缺少任何字段,則總數值爲null。任何想法如何我可以瀏覽這個。 $ project後面有$ group,$ sort,$ limit,但爲了清晰起見我省略了它們。
{
"_id" : "4e6eef33-d88a-4d4d-a6b2-6becf1be7e8f",
"value" : {
"package" : 4498
"2012" : {
"1" : 1.0,
"2" : 1.0,
"4" : 1.0,
"6" : 4.0,
"7" : 2.0,
"8" : 5.0,
"12" : 1.0,
"hits" : 15.0
},
"2013" : {
"1" : 6.0,
"4" : 2.0,
"hits" : 8.0
},
"hits" : 23.0
}
}
順便說一句,我只用了兩個月來說明。我通常會使用12個月。
編輯: 我的回退是編寫一個函數,在文檔中添加缺少的字段。如果我有辦法避免這樣做,我很感興趣。