0
た後、私はこの集計を持っている:モンゴDB集約保つのフィールドはグループ
[
{
$match: {_id: new ObjectId('xxx')}
},
{
$unwind: "$users"
},
{
$group: {
_id: '$users.status',
count: {$sum: 1}
}
},
{
$project: {
name: 1,
field1: 1,
field2: 1,
count: '$count'
}
}
]
スキーマ:
{
name: String,
field1: String,
field2: Schema.Types.Mixed,
users: [{
user: {
type: Schema.Types.ObjectId,
ref: 'User'
},
status: String
}]
}
期待される結果:
{
name: 'NY',
field1: 'example',
field2: 'example2',
statuses: [
{
_id: 'ONLINE',
count: 20
},
{
_id: 'OFFLINE',
count: 120
},
{
_id: 'OTHER',
count: 230
}
]
}
私はグループの結果だけを取得します。この方法元のオブジェクトの他のフィールドには適用されません。
よう
何かはあなたが正確に必要なものについてもう少し説明を追加してくださいすることができますか? – mrid
コレクションのドキュメントの例と、出力の表示方法を教えてください。 – robjwilkins
確か:私は都市の名前と他のデータ、そしてユーザーの配列を持つ市の文書を持っています。私はすべてのフィールドを投影し、ユーザーステータス別にグループ化して投影したい。 – user3712353