更新 Cosmos DB for MongoDB 中的数据
最基本的操作之一是更新集合中的数据。 在本指南中,我们将介绍使用 Mongo Shell (Mongosh) 更新数据时需要了解的所有内容。
使用 updateOne() 方法
updateOne() 方法更新与指定筛选器匹配的第一个文档。 该方法采用以下两种参数:
filter:一个指定更新条件的文档。 此筛选器用于匹配集合中应更新的文档。 筛选器文档必须是有效的查询文档。
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" } } 是更新操作,它将匹配文档的名称字段设置为“Jane Smith”。
还可以使用其他更新运算符(如 $inc、$mul、$rename、$unset 等)来更新数据。
updateMany() 方法
updateMany() 方法更新与指定筛选器匹配的所有文档。 该方法采用以下两种参数:
filter:一个指定更新条件的文档。 此筛选器用于匹配集合中应更新的文档。 筛选器文档必须是有效的查询文档。 update:一个指定要对匹配文档执行的更新操作的文档。 更新文档必须是有效的更新文档。
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 进行容量计划? 可以使用有关现有数据库群集的信息进行容量规划。
- 如果你只知道现有数据库群集中的 vCore 和服务器数量,请阅读根据 vCore 或 vCPU 数量估算请求单位数。
- 如果你知道当前数据库工作负载的典型请求速率,请阅读使用 Azure Cosmos DB 容量规划工具估算请求单位。