0
文書は次のとおりです。ネストした配列の最大値を見つける方法は?
var house = {
"name": name1,
"steps":[
{
"step_id":1,
"value":9999,
"members": [
{
"user_id": 7,
},
{
"user_id": 1
}
]
},
{
"step_id":6,
"value":9999,
"members": [
{
"user_id": 7,
},
{
"user_id": 1
}
]
}
}
}
私がする必要があるのはMAX「STEP_ID」値とステップと-1に存在し、「値」フィールドを更新が見つけ、名前で文書を見つけることです。
私はこれを試しましたが、それは私のために働いていません。あなたはArray#reduce
を使用してstep_id
大きいと、すべてのループのためのオブジェクトを返すことができる任意のヘルプ:)
db.collection('houses').find({"name": "name1",max: { $max : "steps.$step_id" },{$set:{"steps.$.value":-1}, function (err, doc) {
if(err){
return
}
console.log('doc updated');
});