更新 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 等等) 來更新資料。
下一步
- 了解如何使用 Studio 3T 搭配 Azure Cosmos DB for MongoDB。
- 了解如何使用 Robo 3T 搭配 Azure Cosmos DB for MongoDB。
- 使用 Azure Cosmos DB for MongoDB 探索 MongoDB 範例。
- 正在嘗試為遷移至 Azure Cosmos DB 進行容量規劃嗎? 您可以使用現有資料庫叢集的相關資訊進行容量規劃。
- 如果您只知道現有資料庫叢集中的虛擬核心和伺服器數目,請參閱使用虛擬核心或 vCPU 來評估要求單位。
- 如果您知道目前資料庫工作負載的一般要求率,請參閱使用 Azure Cosmos DB 容量規劃工具來評估要求單位。