2012-11-12 182 views
2

最近一直與nodemongoose一起工作,我很喜歡它,直到我不得不更新模型。貓鼬文檔更新錯誤

下面是我在做什麼:

module.exports.update = (post, cb) -> 
    Post.update _id: post._id, post, (err, data) -> 
    cb(err, data) 

因此,我認爲這將是一個容易爲保存一個新職位,但它的抱怨 錯誤:

err: 'Mod on _id not allowed'

我試着刪除post._id然後將其傳遞給我的更新方法,但它沒有工作,我 找不到任何好的例子,除了看起來 有點奇怪,首先你發現Post_id,然後手動更新每個鍵 並保存回發...

有什麼建議嗎?

+0

是'post'普通對象還是'Post'模型實例? – JohnnyHK

回答

2

您在正確的軌道上刪除post._id,然後傳遞給update。假設post是一個普通的JS對象,這應該工作:

module.exports.update = (post, cb) -> 
    id = post._id 
    delete post._id 
    Post.update _id: id, post, (err, data) -> 
    cb(err, data) 
+0

嘿,我終於明白了!非常感謝你 :) – daniel