У меня есть данные в MongoDB, как показано нижеКак обновить элементы массива в MongoDB
{
"_id": ObjectId("57c40e405e62b1f02c445ccc"),
"sharedPersonId": ObjectId("570dec75cf30bf4c09679deb"),
"notificationDetails": [
{
"userId": "57443657ee5b5ccc30c4e6f8",
"userName": "Kevin",
"isRed": true
}
]
}
Теперь я хочу, чтобы обновить isRed
значение как false
Как написать запрос для этого. Я пытался что-то вроде ниже
var updateIsRedField = function(db, callback) {
db.collection('notifications').update({_id:notificationId},
{
$set: { "notificationDetails.$": {isRed: false}},
}, function(err, results) {
callback();
});
};
MongoClient.connect(config.database, function(err, db) {
assert.equal(null, err);
updateIsRedField(db, function() {
db.close();
});
return res.json({});
});
Вы получили какие-либо ошибки при обновлении? Или это не обновляется? – Shrabanee
Не обновляется. – Kevin
Вы можете проверить вывод для 'db.collection ('уведомления'). Find ({_ id: notificationId})'? Он дает какие-либо записи или нет? – Shrabanee