1
假設我們有以下數據如何通過貓鼬中的子文檔字段對記錄進行分組?
*母公司*
{ _id: 10, child: ObjectID(20) }
{ _id: 11, child: ObjectID(21) }
{ _id: 12, child: ObjectID(23) }
*兒童*
{ _id: 20, name: 'test-1' }
{ _id: 21, name: 'test-2' }
{ _id: 22, name: 'test-3' }
{ _id: 23, name: 'test-1' }
我想知道有什麼用貓鼬得到下面的結果。
{ _id: 'test-1', count: 2}
{ _id: 'test-2', count: 1}
我目前使用下面的查詢,但結果_id總是{ _id: null, count: 3 }
:(
Parent.aggregate([{
$group: {
_id: '$child.name',
count: { $sum: 1 }
}
}])
任何形式的幫助表示讚賞。
這是兩個不同的集合? – Yogesh
是的,他們是不同的集合@Yogesh – emil
在這種情況下,你應該首先寫兩個不同的查詢在父集合上獲取所有子id,並在集合'$ match'中使用'$ in'在子集合中使用該子id,並通過名稱'最後'總結' – Yogesh