修改多个文档
您可以使用 Update Documents模态对 Compass 中的多个文档执行批量更新操作。 使用Update Documents模式执行更新有助于您在应用数据更新之前将其可视化。
关于此任务
您可以使用任何适用于
db.collection.updateMany()
的update
参数的语法。Update Documents(更新文档)模态窗口不支持任何
options
参数,例如 upsert、writeConcern 或 collation。仅当数据库配置为支持事务时,受批量更新操作影响的文档的预览才可见。有关详细信息,请参阅事务。
开始之前
Update Documents模式从Compass版本1.42.0
开始可用。 有关更新或安装最新Compass版本的说明,请参阅下载和安装Compass。
步骤
打开批量更新模式
在Documents标签页上,单击 Update按钮以显示Update Documents模态。 下表汇总了模态窗口的用户界面:
UI Element | 说明 |
---|---|
Filter | 在 Query Bar 上指定的任何过滤条件都适用于 Update Documents 模式。要更新过滤器查询,请退出Update Documents模式并修改Query Bar中的查询。 |
Update | 应用于筛选条件中指定的文档的更新语法。您可以使用任何适用于 db.collection.updateMany() 的 update 参数的语法。 |
Preview | 已应用更新语法的文档预览。 |
(可选)命名并保存 Update
您可以在Update Documents模式中命名并保存更新查询。 保存查询会将其添加到该集合的收藏查询中,并允许您在关闭模式后加载和复制查询。
单击模态窗口左下方的 Save(保存)按钮。
输入更新语法的名称。
单击绿色的 Save(保存)按钮。
例子
下面的示例使用 sample_mflix 数据集。
此示例使用 Compass Update Documents 模式更新 tomatoes.viewer.numReviews
和 tomatoes.viewer.meter
字段。
在Query Bar中应用过滤器,过滤year
为1917
的电影。
{ 'year' : 1917 }
单击 Update按钮后,会显示Update Documents模式。
在Update文本框中,粘贴以下语法:
{ $inc: { "tomatoes.viewer.numReviews" : 1}, $set: { "tomatoes.viewer.meter" : 99 } }
此语法:
Preview 部分填充受更新查询影响的示例文档。
要查看 numReviews 和 meter 字段的更新,请执行以下操作:
单击tomatoes旁边的箭头图标。
单击viewer旁边的箭头图标。
单击 Update Documents(更新文档)按钮更新集合的数据。