使用MongooseJS更新文档中的多个字段

3
假设我有一个名为 ABC 的模式,看起来像这样:

ABC = mongoose.Schema ({
    name: String
    , x: String
    , y: String
    , z: String
});

我希望在名称匹配时更新x和y字段。使用MongooseJS的“update”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)是否更好?我在另一个线程中读到update比save更好,因为它更安全。这是真的吗?
任何建议都将不胜感激!
1个回答

5

是的,您可以更新多个字段,只需要像这样做:

ABC.update({ name: 'whatever' }, {
    x: 'value1',
    y: 'value2'
},
function(err, data) {
    if (err) {
    } else if (!data){
    } else {
        return res.send(200, data);
    }
});

这回答了我一个问题。谢谢! - Sean

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接