MongoDBの更新クエリの使い方
MongoDBでは、updateメソッドを使用してドキュメントを更新できます。updateメソッドは、クエリ条件、更新操作、およびいくつかのオプションの3つのパラメータを受け取ることができます。
update メソッドの構文は次のとおりです。
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)
- クエリ条件:更新するドキュメントの指定に使用します。
- 更新操作。ドキュメントに対してどのような更新を実施するかを指定します。 フィールド値の設定には $set 演算子を使用できます。
- クエリ条件に一致するドキュメントが見つからない場合、新しいドキュメントを挿入します(オプションパラメータ、true に設定された場合。デフォルトは false です)。
- すべてのドキュメントのアップデートを行う場合にtrueに設定するためのオプションのパラメータ。デフォルトはfalseで最初のドキュメントのみアップデートされます。
- 書き込み時に使用する確認レベルを指定するオプションパラメータ
以下に例をいくつか示しています。
- 単一ドキュメントの更新:
db.collection.update(
{ _id: ObjectId("5f9a0c143abf4a6bdfb8d1b2") },
{ $set: { name: "John Doe" } }
)
- 複数のドキュメントの更新
db.collection.update(
{ age: { $lt: 30 } },
{ $set: { status: "active" } },
{ multi: true }
)
- 登録と更新をまとめて行う
db.collection.update(
{ name: "Alice" },
{ $set: { age: 25 } },
{ upsert: true }
)
注意: MongoDB 4.2以降、updateメソッドは非推奨となり、代わりにupdateOneメソッドかupdateManyメソッドを使用することを推奨します。