user = { 'userid':'111', 'mail':[{ 'time':22222, 'info':'this is a info1', 'read':false, },{ 'time':33333, 'info':'this is a info2', 'read':false, }] }
更新使用貓鼬
的話,我想改變一個用戶的讀標誌設置爲true一個對象的MongoDB中的子陣列中的所有值,我怎麼能爲它做什麼?
user = { 'userid':'111', 'mail':[{ 'time':22222, 'info':'this is a info1', 'read':false, },{ 'time':33333, 'info':'this is a info2', 'read':false, }] }
更新使用貓鼬
的話,我想改變一個用戶的讀標誌設置爲true一個對象的MongoDB中的子陣列中的所有值,我怎麼能爲它做什麼?
這裏就是我的回答:
User.update({
'userid':userid,
'mails':{
'$elemMatch':{
'read':false
}
}
},{
'$set':{
'mail.$.read':false,
'newmail':0,
}
}, { multi: true }, function (err, data) {
if(err > 0){
console.log('ReadMail err', err);
}
});
位置$運算符充當與查詢文檔相匹配的第一個元素的佔位符 源 - https://docs.mongodb.com/manual/reference/operator/update/positional/#up。 _S_ – akshay
這裏是一個簡單的例子:我的模型是用戶!我的網址是數據庫的路徑
var newUser = new User();
newUser.name = request.body.name;
newUser.email = request.body.email;
newUser.pass = request.body.pass;
newUser.position = request.body.pos;
newUser.phone = request.body.phone;
mongoose.connection.openUri(url);
var myquery = { _id : request.params._id };
console.log("updating...")
User.findByIdAndUpdate(myquery,{$set: newUser},{new: true},function(err, result) {
if(err)
{
throw err;
}
response.json({code: 0 , result});
});
您好,歡迎來到堆棧溢出。爲了更好地獲得有關問題的幫助,您需要展示一個[最小,完整且可驗證的示例](https://stackoverflow.com/help/mcve),說明您試圖實現的目標以及預期的輸出結果。意思是,現在你的代碼是什麼,你想要做什麼以及你的代碼在做什麼? – danny