我在這裏抓我的頭像往常一樣,它似乎與節點項目,我不知道如果我做錯了什麼或如果我遇到了一個錯誤。Mongoose不會刪除嵌入的文檔
我有一個服務器架構,可以有任意數量的稱爲服務的嵌入式文檔。儘管我已經成功地從服務器對象中刪除了單個服務,但在我告訴它保存時不會將其從數據庫中刪除,但我仍然遇到了問題。保存功能正在發揮作用,因爲它保存了我所做的任何更改,並且還推出了新的嵌入式文檔,它只是不刪除已經存在的文檔。
這裏是我的代碼相對簡單的例子:所以刪除()實際上是除去服務
app.put('/server/:id', function(req, res, next){
app.Server.findOne({_id: req.params.id}, function(err, server) {
server.updated = new Date();
...
for (var num = _.size(req.body.server.services) - 1; num >= 0; num--){
// Is this a new service or an existing one
if (server.services[num]) {
// Is it marked for deletion? If so, delete it
if (req.body.server.services[num].delete == "true") {
server.services[num].remove()
} else { // else, update it
server.services[num].type = req.body.server.services[num].type
...
}
} else {
// It's new, add it
delete req.body.server.services[num]["delete"]
server.services.push(req.body.server.services[num]);
}
}
server.save(function(err){
if (!err) {
req.flash('success', 'Server updated')
} else {
req.flash('error', 'Err, Something broke when we tried to save your server. Sorry!')
console.log(err)
}
res.redirect('/')
});
})
});
。如果我在保存前做了一個server.toObject(),它不在那裏。任何想法,爲什麼它不會從數據庫中刪除它時保存?
編輯:我想版本號會有幫助。 [email protected],[email protected] [email protected]
我有同樣的問題。 – Carlosedp 2011-03-19 16:54:20