2016-12-25 61 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

相關問題