0
[{
"date": "18/12/2010",
"babies": [{
"id":1,
"name": "James",
"age": 8,
}, {
"id":2,
"name": "John",
"age": 4,
}]
}]
私はJohnの年齢を10に設定しましたが失敗しました。私はより具体的にするために複数の条件をしなければならない。mongooseで複数の条件を持つオブジェクトの配列が更新されませんでした
Babies.update({"date":date, 'babies.id': 1}, {'$set': {age:10}, function(err, response){
res.json(response);
})
第1の条件は、日付であり、第2の条件は、赤ちゃんのオブジェクトの配列であり、この場合はidである。上記のクエリはエラーも効果もありません。どこで間違っていましたか?
私はこのクエリに
Babies.find({'babies.id': 1}, function(err, response){
res.json(response);
})
をやってデバッグし、それが正しいターゲットを見つけることができなかった、多分それは、代わりに{'$set': {age:10}}
の
それは働いた!ありがとう。私の日付が配列の場合はどうなりますか?私は複数の日付でデータベースを更新したい。 –
@JamieAnderson:[MongoDB $演算子](https://docs.mongodb.com/manual/reference/operator/query/in/)を参照してください。 –