次の方法で共有


Cosmos DB for MongoDB でのデータの更新

最も基本的な操作の 1 つは、コレクションのデータを更新することです。 このガイドでは、Mongo シェル (Mongosh) を使ったデータの更新について理解する必要があることをすべて説明します。

updateOne() メソッドの使用

updateOne() メソッドを使うと、指定したフィルターに一致する最初のドキュメントを更新することができます。 メソッドには、

filter: 更新の条件を指定したドキュメント。 filter は、更新する必要があるコレクション内のドキュメントを照合するために使われます。 filter ドキュメントは有効なクエリ ドキュメントである必要があります。

update: 一致するドキュメントに対して実行する更新操作を指定したドキュメント。 update ドキュメントは有効な更新ドキュメントである必要があります。

db.collection.updateOne(
   <filter>,
   <update>
)

たとえば、_id が 1 と等しい顧客の名前を更新するには、次のコマンドを使用できます。

db.customers.updateOne(
   { _id: 1 },
   { $set: { name: "Jane Smith" } }
)

上記の例では、db.customers はコレクション名であり、{ _id: 1 } は、_id が 1 と等しい最初のドキュメントに一致するフィルターであり、{ $set: { name: "Jane Smith" } } は一致したドキュメントの name フィールドを "Jane Smith" に設定する更新操作です。

また、$inc、$mul、$rename、$unset などの他の更新演算子を使ってデータを更新することもできます。

updateMany() メソッド

updateMany() メソッドを使うと、指定したフィルターに一致するすべてのドキュメントを更新できます。 メソッドには、

filter: 更新の条件を指定したドキュメント。 filter は、更新する必要があるコレクション内のドキュメントを照合するために使われます。 filter ドキュメントは有効なクエリ ドキュメントである必要があります。 update: 一致するドキュメントに対して実行する更新操作を指定したドキュメント。 update ドキュメントは有効な更新ドキュメントである必要があります。

db.collection.updateMany(
   <filter>,
   <update>
)

たとえば、"New York" に住んでいるすべての顧客の名前を更新するには、次のコマンドを使用できます。

db.customers.updateMany(
   { city: "New York" },
   { $set: { name: "Jane Smith" } }
)

上記の例では、db.customers はコレクション名であり、{ city: "New York" } は city フィールドが "New York" と等しいすべてのドキュメントに一致するフィルターであり、{ $set: { name: "Jane Smith" } } は一致したすべてのドキュメントの name フィールドを "Jane Smith" に設定する更新操作です。

また、$inc、$mul、$rename、$unset などの他の更新演算子を使ってデータを更新することもできます。

次のステップ