LoginSignup
7
8

More than 5 years have passed since last update.

Mongooseでsaveがうまく行かなかったら

Last updated at Posted at 2014-01-15

markModified してみよう

findOneで取り出してきたドキュメントを編集してsaveした後確認してみると、ドキュメントが書き換わっていなくてしばらく頭を悩ませたあと、markModifiedしてみるとうまくいった。

var mongoose = require( 'mongoose' );

var Document = new mongoose.Schema( {
    hoge: [ { type: Number } ]
} );

Document はこんな感じだとして、

Document.findOne( query, function( error, doc ) {
    doc.hoge[ index ] = huga;
    doc.markModified( 'hoge' );
    doc.save();
} );

こんな感じ。本来markModifiedするべきなのはプロパティが Schema.Types.Mixed のときのようだが、今回は [ Number ] だったわけで、他にも同様にsaveしている所では問題になっておらず、詳しくは現在調査中といったところ。

7
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8