0
我想使用聚合框架來總結一個嵌套數組的嵌套數組並返回原始文檔的排序順序。MongoDB得到一個文件數組內的嵌套數組的總數
所以這是我的文檔的樣子:
myColl: {
_id: 123,
fruits: [{
name: apple,
buyers: [{buyer1}, {buyer2}]
},
{
name: banana,
buyers: [{buyer1}, {buyer2}, {buyer3}]
]
}
,你可以水果是MYCOLL文檔中的子文檔的陣列,以及購房者的水果裏面的子文檔諾特爾陣列。
我想要的是統計所有水果的文檔中的買家數組。所以上面的文件應該有'5'的總買家。
然後我想在總購買者中對myColl中的所有文檔進行排序。我已經嘗試了一些東西,我似乎無法得到它的權利:
db.myColl.aggregate([
{$unwind: '$fruits'},
{$unwind: '$fruits.buyers'},
{$group: {
_id: '$fruits.buyers',
totalBuyers: {$sum: '1'},
docs: {$push: '$$ROOT'}
}},
{$sort: {'totalBuyers': 1}}])
的不給我想要的結果,並totalBuyers始終爲0。另外,它返回我的詞,然後MYCOLL的總數。我猜這是與'_id'字段有關。
我曾看過其他一些SO問題,但找不到匹配或適用於我的案例。
我最後的手段是自己計算一下,或者創建一個新的域來完成它,但如果我可以運行一個查詢,它會讓我的生活變得更容易。