我在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({});
});
db.collection('notifications').find({_id:notificationId})
的输出吗?它是否返回了任何记录? - ShrabaneenotificationDetails
数组的isRed:false
, 所以我现在得到了结果。 - Kevin