使用MongooseJS更新文档中的多个字段
假设我有一个ABC模式,如下所示:使用MongooseJS更新文档中的多个字段,mongoose,Mongoose,假设我有一个ABC模式,如下所示: ABC = mongoose.Schema ({ name: String , x: String , y: String , z: String }); 如果名称匹配,我想更新字段x和y。MongooseJS“更新”API是否可能实现这一点 我尝试了以下方法,但没有成功: ABC = mongoose.createConnection(uri).model('ABC', ABC) ... ABC.findOne({'name
ABC = mongoose.Schema ({
name: String
, x: String
, y: String
, z: String
});
如果名称匹配,我想更新字段x和y。MongooseJS“更新”API是否可能实现这一点
我尝试了以下方法,但没有成功:
ABC = mongoose.createConnection(uri).model('ABC', ABC)
...
ABC.findOne({'name': abc.name}).exec(function(err, found) {
if(found) {
ABC.update({'name':abc.name}, {'x':abc.x, 'y':abc.y}).exec();
}
...
});
即使这是可能的,更新ABC对象并使用ABC.save(ABC)是否更好?我在另一篇文章中读到,更新比保存好,因为它是一种节省。这是真的吗
任何建议都将不胜感激 是的,您可以更新多个字段,您只需执行以下操作
ABC.update({ name: 'whatever' }, {
x: 'value1',
y: 'value2'
},
function(err, data) {
if (err) {
} else if (!data){
} else {
return res.send(200, data);
}
});
这回答了我的一个问题。谢谢