2

最近一直在使用它nodemongoose我很喜欢它,直到我不得不更新模型。

这是我正在做的事情:

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

所以我认为保存新帖子会很容易,但它抱怨错误:

错误:'不允许修改 _id'

在将它传递给我的更新方法之前,我尝试删除post._id它,但它不起作用,我找不到任何关于如何执行它的好例子,除了一个看起来有点奇怪的例子,你首先找到Post的是_id,然后手动更新每个键并再次保存帖子...

有什么建议么?

4

1 回答 1

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)
于 2012-11-12T23:17:04.670 回答