MongoDBの更新クエリの使い方

MongoDBでは、updateメソッドを使用してドキュメントを更新できます。updateメソッドは、クエリ条件、更新操作、およびいくつかのオプションの3つのパラメータを受け取ることができます。

update メソッドの構文は次のとおりです。

db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)
  1. クエリ条件:更新するドキュメントの指定に使用します。
  2. 更新操作。ドキュメントに対してどのような更新を実施するかを指定します。 フィールド値の設定には $set 演算子を使用できます。
  3. クエリ条件に一致するドキュメントが見つからない場合、新しいドキュメントを挿入します(オプションパラメータ、true に設定された場合。デフォルトは false です)。
  4. すべてのドキュメントのアップデートを行う場合にtrueに設定するためのオプションのパラメータ。デフォルトはfalseで最初のドキュメントのみアップデートされます。
  5. 書き込み時に使用する確認レベルを指定するオプションパラメータ

以下に例をいくつか示しています。

  1. 単一ドキュメントの更新:
db.collection.update(
   { _id: ObjectId("5f9a0c143abf4a6bdfb8d1b2") },
   { $set: { name: "John Doe" } }
)
  1. 複数のドキュメントの更新
db.collection.update(
   { age: { $lt: 30 } },
   { $set: { status: "active" } },
   { multi: true }
)
  1. 登録と更新をまとめて行う
db.collection.update(
   { name: "Alice" },
   { $set: { age: 25 } },
   { upsert: true }
)

注意: MongoDB 4.2以降、updateメソッドは非推奨となり、代わりにupdateOneメソッドかupdateManyメソッドを使用することを推奨します。

bannerAds