オブジェクトの配列を持つドキュメントがあり、1つのオブジェクトに複数のオブジェクトが含まれています$set
で内部オブジェクトを更新したいのですが、 誰でも私にそれを解決できるように私に何かヒントを与えることができますか?Mongoose:入れ子にされた配列オブジェクトで更新が機能しない
これは私の物である:
{
"_id": ObjectId("56fbfafdf86fa6161911d104"),
"site": "xyz",
"adsPerCategory": NumberInt(2),
"sampledAt": ISODate("2016-03-30T16:12:45.138+0000"),
"items": [
{
"id": "4563873",
"content": {
"title": "WATER DISTILLERS",
"body": "Perfect to save money.",
}
},
{
"id": "4563s23232873",
"content": {
"title": "Cola water",
"body": "Perfect for body.",
}
}
]
}
私はbody
を更新したいです。
今のところ私はsingle object
を与えていますが、それは倍数にすることができます。私は0
を置くが、私はそれを動的にしたい場合には、正常に動作しています
models.Sample.update(
{
_id: samples._id
},
'$set': {
'items.0.content.body': body.description
},
function(err, numAffected) {
console.log(err);
console.log('Affected....', numAffected);
}
);
を試みたものをここで
。
'items.index.content.body': body.description
同様
はありがとうございました。
あなたは同じボディコンテンツを持つすべてのアイテムを更新したいと思いますか? –
いいえ、項目には複数のオブジェクトがあり、各オブジェクトには異なるボディコンテンツがあります したがって、異なる内容のすべてのボディを繰り返し更新するのに 'foreach'を使用しました。 – abdulbarik
私はボディ値を更新しました。 – abdulbarik