You can perform bulk update operations on multiple documents in Compass by using the Update Documents modal. Performing updates with the Update Documents modal helps you visualize updates to your data before you apply them.
About this Task
- You can use any syntax that works with the
updateparameter ofdb.collection.updateMany(). - The Update Documents modal does not support any
optionsparameters such as upsert, writeConcern, or collation. - Previews of the documents affected by bulk update operations are only visible if your database is configured to support transactions. For details, see /core/transactions.
Before you Begin
The Update Documents modal is available starting in Compass version 1.42.0. For instructions on updating or installing the latest Compass version, see Download and Install Compass.
Steps
Apply a query filter
From the Documents tab, input a query into the Query bar. The filter criteria of the query specified applies to the documents in the Bulk Update modal. If you need to apply an update to all documents in a collection, leave the Query bar blank.
Open the bulk update modal
On the Documents tab, click the Update button, or right-click the surrounding white space and select Bulk update from the dropdown, to display the Update Documents modal. The following table summarizes the UI of the modal:
| UI Element | Description |
|---|---|
| Filter | Any filter criteria specified on the Query Bar applies to the Update Documents modal. To update the filter query, exit the Update Documents modal and modify the query in the Query Bar. |
| Update | The update syntax that is applied to the documents specified in the filter criteria. You can use any syntax that works with the update parameter of the db.collection.updateMany(). |
| Preview | A preview of documents with the update syntax applied. |
Enter the update syntax
In the Update text field, provide the update syntax.
The number of documents affected by the update displays at the top of the Update Documents modal.
Note
The documents under the Preview header show how the Update syntax affects documents in your collection.
(Optional) Name and save your Update
You can name and save the update query in the Update Documents modal. Saving your query adds it to your favorite queries for that collection and allows you to load and copy the query after you close the modal.
- Click the Save button on the bottom left of the modal.
- Enter a name for the update syntax.
- Click the green Save button.
Example
The following example uses the sample_mflix dataset.
This example updates the tomatoes.viewer.numReviews and tomatoes.viewer.meter fields with the Compass Update Documents modal.
Apply a filter in the Query Bar to filter movies which have a year of 1917.
{ 'year' : 1917 }
Click the Update button, the Update Documents modal displays.
In the Update text box, paste the following syntax:
{
$inc: { "tomatoes.viewer.numReviews" : 1},
$set: { "tomatoes.viewer.meter" : 99 }
}
This syntax:
- Increments the
tomatoes.viewer.numReviewsfield by1. - Sets the
tomatoes.viewer.meterfield to99.
The Preview section populates with sample documents affected by the update query.
To view the updates to the numReviews and meter fields:
- Click the arrow icon next to tomatoes.
- Click the arrow icon next to viewer.
Click the Update Documents button to update the collection's data.