Mongooseでデータを更新する
Mongooseでデータを更新する方法を見ていきます。
更新において必要なメソッドは下記の通りです。
・update()
・updateMany()
・updateMany()
注意点としては、これらのメソッドは戻り値としてドキュメントを返しません。
つまり処理の結果のみです。
{ n: 1, nModified: 1, ok: 1 }
上記のようなものが返ってきます。
今回は主に使用頻度が多い、updateMany()とupdateMany()について確認してみましょう。
・updateOne()・・・該当する1つのドキュメントを更新します。
Movie.updateOne({title:'Stand By Me'},{score:9.5}).then(res => console.log(res))
第一引数には「絞り込むためのクエリ」を第二引数には「更新したい値とkey」を入れ
ます。
サンプルで映画の評価を「8.6から9.5」に更新したとします。
データベースを確認すると、無事更新されています。
・updateMany()・・・検索条件で該当する複数のドキュメントを一括更新します。
,{score:10}).then(res => console.log(res))
また別の映画の評価も複数同時に変更していきます。
成功です。
こちらも評価が更新されています。
もう一つよく使うメソッドがあるので紹介します。
・findOneAndUpdate()・・・該当のドキュメントを1つのみ検索し、更新し、該当の
ドキュメントを返します。
第三引数ではオプションを渡すことができ、「{new:true}」とすることで変更が加わっ
た新しいオブジェクトも取得できます。