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