2016-12-25 64 views
0

我需要取消设置为ObjectId的mongo字段,如果此ID是当前用户的Id并且此字段已设置,则引用另一个模式。在其他情况下,如果此字段未设置,则应设置当前用户标识。如果该字段已设置且ObjectID不匹配,则当前用户标识的mongo应该返回现有文档,但不会对ObjectID字段进行更改。Mongoose更新文档的条件

现在我通过ID找到条目,然后在我的JS代码中检查个案。然后我执行另一个查询以更新文档。但我认为这可以通过mongo在一个查询中完成。

我用猫鼬在我的NodeJS

回答

1

猫鼬findOneAndUpdate是你正在寻找for.It有以下一般语法功能。 query.findOneAndUpdate(conditions, update, options, callback) 编辑:附加一个示例查询。

var query = {"_id": id}; 
var update = {name: {first: 'john', last: 'smith'}}; 
var options = {new: true}; 
People.findOneAndUpdate(query, update, options, function(err, person) { 
    if (err) { 
    console.log('got an error'); 
    } 

    // at this point person is null. 
}); 
+0

能给我提供更详细的条件参数吗? –

+0

用一个用例更新了我的答案 – Gaurav

相关问题