0
私は、グループ集約で$ pushを使用してminSalaryを持つデータをプッシュしようとしています。mongodbの集約とプッシュのグループ
問合せ:
db.users.aggregate([
{ $match: { experience: { $gte:3, $lte:10} } },
{ $group: { _id: {totalExperience:"$experience"}, "count": {$sum:1},"minSalary": {$min:"$expected_salary"}, "minUsers": {$push:"$_id"}, "maxSalary": {$max:"$expected_salary"} } },
{ $sort: { '_id.totalExperience': -1 } }
])
結果
{
"_id" : {
"totalExperience" : 9
},
"count" : 549.0,
"minSalaryCount" : 120000,
"maxSalary" : 180000
}
はまた、私は次のような結果に
{
"_id" : {
"totalExperience" : 9
},
"count" : 549.0,
"minSalaryCount" : 120000,
"maxSalary" : 180000,
"minSalaryUsers":[
ObjectId('5355345345sdrrw234234'),
ObjectId('5355345345sdeee234234'),
ObjectId('5355345345sdertw234234')
]
}
を期待していますありがとうございました。
あなたは分給与とユーザーIDをmap' '$上のユーザ給与配列filter' $'への$ project'段階 '続く彼らの給与と一緒にユーザーIDをプッシュするために、' $のgroup'を変更する必要があります。 – Veeram
@Veeramこれのサンプルを教えていただけますか? – azhagu