更新 Cosmos DB for MongoDB 中的資料

其中一項最基本的作業是更新集合中的資料。 在本指南中,我們將說明使用 Mongo Shell (Mongosh) 更新資料的所有須知事項。

使用 updateOne() 方法

updateOne() 方法會更新第一份符合指定篩選條件的文件。 這個方法採用兩個參數:

篩選:指定更新準則的文件。 篩選可用來比對集合中應更新的文件。 篩選文件必須是有效的查詢文件。

更新:指定更新作業以對相符的文件執行的文件。 更新文件必須是有效的更新文件。

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" } } 則是會將相符文件的名稱欄位設定為 "Jane Smith" 的更新作業。

您也可以使用其他更新運算子 (例如 $inc、$mul、$rename、$unset 等等) 來更新資料。

updateMany() 方法

updateMany() 方法會更新所有符合指定篩選條件的文件。 這個方法採用兩個參數:

篩選:指定更新準則的文件。 篩選可用來比對集合中應更新的文件。 篩選文件必須是有效的查詢文件。 更新:指定更新作業以對相符的文件執行的文件。 更新文件必須是有效的更新文件。

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

例如,若要為所有居住在 "New York" 的客戶更新名稱,您可以使用下列命令:

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

在上述範例中,db.customers 是集合名稱、{ city: "New York" } 是會比對出城市欄位等於 "New York" 的所有文件的篩選條件,而 { $set: { name: "Jane Smith" } } 則是會將所有相符文件的名稱欄位設定為 "Jane Smith" 的更新作業。

您也可以使用其他更新運算子 (例如 $inc、$mul、$rename、$unset 等等) 來更新資料。

下一步