У меня есть документ с массивом объектов, а один объект содержит несколько объектов. Я хочу обновить внутренний объект $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
, но он может быть кратным.
Вот что я пытался
models.Sample.update(
{
_id: samples._id
},
'$set': {
'items.0.content.body': body.description
},
function(err, numAffected) {
console.log(err);
console.log('Affected....', numAffected);
}
);
Это работает отлично, если я ставлю 0
, но я хочу, чтобы сделать его динамичным.
'items.index.content.body': body.description
Как
Спасибо.
Вы имеете в виду, что хотите обновить все предметы с одним и тем же содержимым тела? –
Нет, элементы имеют несколько объектов, и каждый объект имеет различное содержимое тела , так что я использовал 'foreach' для итерации и обновления всего тела с различным содержимым – abdulbarik
Я только что обновил значение тела. – abdulbarik