1
나는 사용자와 숫자 모음을 가지고 있습니다. 각 번호에는 AllocatedToUserId (ObjectId) 필드가 있으며, 사용자는 많은 수를 가질 수 있습니다. 단일 쿼리에서 NumbersCount를 가진 사용자를 어떻게 반환합니까? 나는이MongoDB 집계 카운트
db.getCollection('Users').aggregate([
{'$lookup': {from: "Numbers",
localField: "_id",
foreignField: "AllocatedToUserId",
as: "Numbers"}
},{ '$project' : {_id:0,
document: '$$ROOT',
count: {$size:'$Numbers'}}}
])
을 썼다 그러나이 코드와 나는 같은 응답의 구조를 가지고 각 document
가 Numbers
컬렉션이
[{document, count},{document, count},{document, count}...]
을, 나는 document
및 내부 count
을하고 싶습니다 번호없이 컬렉션. 가능한가? 감사!
감사 : 다음 예제에서는 스키마와 사용자가 있다고 가정합니다! 네, 아마도 그게 해결책이지만 내 사용자 스키마는 ~ 25 개의 필드를 가지고 있습니다. 그래서 $$ ROOT를 사용했습니다. – Raft
'$$ ROOT'를 사용하면'document' 내장 문서를 평평하게하는 또 다른'$ project' 파이프 라인을 갖게 될 것입니다 – chridam
그래서 .. 그게 아마도 가장 좋은 해결책일까요? – Raft