修改多个文档
您可以使用Compass中的“更新文档”模式对多个文档进行批量更新操作。更新文档模式。使用“更新文档”模式可以帮助您在应用更新之前可视化地查看数据更新。
关于此任务
您可以使用与db.collection.updateMany()的update参数兼容的任何语法。
update
参数。db.collection.updateMany()
.更新文档模式不支持任何如upsert、writeConcern或collation的options参数。
只有当您的数据库配置为支持事务时,才能看到受批量更新操作影响的文档预览。有关详细信息,请参阅事务。
开始之前
从Compass版本1.42.0
开始提供“更新文档”模式。有关更新或安装最新Compass版本的说明,请参阅下载并安装Compass.
步骤
2
打开批量更新模态框
在“文档”选项卡上,点击 更新按钮以显示“更新文档”模态框。以下表格总结了模态框的UI元素
UI元素 | 描述 |
---|---|
过滤器 | 在“查询栏”中指定的任何过滤器条件都适用于“更新文档”模态框。要更新过滤器查询,退出“更新文档”模态框,并在“查询栏”中修改查询。 |
更新 | 应用于过滤器条件中指定的文档的更新语法。您可以使用与 db.collection.updateMany() .中的update 参数一起工作的任何语法。 |
预览 | 应用更新语法后文档的预览。 |
4
(可选) 为您的更新
您可以在更新文档窗口中命名并保存更新查询。保存查询会将它添加到该集合的收藏查询中,并在关闭窗口后允许您加载和复制查询。
单击窗口左下角的保存按钮。
为更新语法输入一个名称。
单击绿色的保存按钮。
示例
以下示例使用sample_mflix数据集。
此示例使用Compass的更新文档模式更新tomatoes.viewer.numReviews
和tomatoes.viewer.meter
字段。
在查询栏中应用过滤器以过滤具有1917
年年份
的电影。
{ 'year' : 1917 }
点击 更新按钮,将显示更新文档模式。
在更新文本框中,粘贴以下语法
{ $inc: { "tomatoes.viewer.numReviews" : 1}, $set: { "tomatoes.viewer.meter" : 99 } }
此语法
预览部分将填充受更新查询影响的示例文档。
要查看对numReviews
和meter
字段的更新
点击tomatoes旁边的箭头图标。
点击viewer旁边的箭头图标。
点击更新文档按钮以更新集合的数据。