2

一緒に仕事をしていてnodemongoose最近はモデルを更新するまで楽しんでいました。

これが私がしていることです:

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

だから私はそれが新しい投稿を保存するのと同じくらい簡単だろうと思ったが、それはエラーで不平を言っている:

エラー:'_idの変更は許可されていません'

updateメソッドに渡す前に削除しようとしまし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 に答える