的基本思路是這樣的:貓鼬:更新不工作
model.find({}, function(err, docs) {
docs.forEach(function(doc) {
// update it with whatever new object
model.update({"category":"cat1"});
});
});
現在的問題是任何種類的更新/保存不起作用。我可以找到,計數等模型。我試過doc.save()
,model.findOneAndUpdate()
,使用特定領域的$set
參數,他們不工作。我去了mongo shell並用參數輸入了update命令,它工作正常。
有一次,它的工作,是當我試圖從find()
的回調函數以外使用var m = new model({..})
和m.save()
新文檔。但我需要根據他們的領域找到文件,並更新這些文件。
我覺得我失去了一些東西真的很基本的,可能有人幫助我嗎?
編輯:mongoose.disconnect()是在代碼被調用以後。所以查詢沒有執行。
你確定更新函數實際上是被調用的嗎?就像你把'console.log()'放在更新的上方,讓你知道這行正在執行? – Chad
我在更新函數之外完成了每個文檔名稱的確認。我甚至在回調中放了一個console.log。有趣的是,回調正在執行,但我沒有看到它反映在數據庫中。 – Raghuveer