更新演算子
次の修飾子は更新操作で使用できます。たとえば、 db.collection.updateMany()
やdb.collection.findAndModify()
などです。
互換性
次の環境でホストされている配置ではアップデート演算子を使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
構文
次の形式のドキュメントで演算子の式を指定します。
{ <operator1>: { <field1>: <value1>, ... }, <operator2>: { <field2>: <value2>, ... }, ... }
注意
構文や例など、特定の演算子の詳細については、演算子のリファレンスページへのリンクをクリックしてください
更新演算子
動作
MongoDB 5.0 以降、update 演算子では名前が文字列ベースのドキュメントフィールドを辞書順に処理します。数値名のフィールドは、番号順に処理されます。
この $set
コマンドの例について考えます。
{ $set: { "a.2": <new value>, "a.10": <new value>, } }
MongoDB 5.0 以降では、2
は番号順で 10
の前に来るため、"a.2"
は "a.10"
より前に処理されます。
フィールド
名前 | 説明 |
---|---|
フィールドの値を、日付またはタイムスタンプとして現在の日付に設定します。 | |
フィールドの値を指定した量ずつ増加させます。 | |
指定された値が既存のフィールドの値より小さい場合にのみ、フィールドをアップデートします。 | |
指定された値が既存のフィールドの値より大きい場合にのみ、フィールドをアップデートします。 | |
フィールドの値に指定した量を乗算します。 | |
フィールドの名前を変更します。 | |
ドキュメント内のフィールドの値を設定します。 | |
アップデートの結果としてドキュメントが挿入される場合、フィールドの値を設定します。既存のドキュメントを変更するアップデート操作には影響しません。 | |
ドキュメント内の指定したフィールドを削除します。 |
配列
演算子
名前 | 説明 |
---|---|
クエリ条件に一致する最初の要素をアップデートするためのプレースホルダーとして機能します。 | |
クエリ条件に一致するドキュメントで、配列内のすべての要素をアップデートするためのプレースホルダーとして機能します。 | |
クエリ条件に一致するドキュメントで、 arrayFilters 条件に一致するすべての要素をアップデートするためのプレースホルダーとして機能します。 | |
当該要素がまだセット内に存在しない場合のみ、配列に要素を追加します。 | |
配列の最初または最後の項目を削除します。 | |
指定したクエリに一致する配列要素をすべて削除します。 | |
配列に項目を追加します。 | |
配列ないのすべての一致する値を削除します。 |
Modifiers
Bitwise
名前 | 説明 |
---|---|
整数値のビット単位の AND 、 OR 、および XOR アップデートを実行します。 |