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