Compass では、 Update Documentsモーダルを使用して、複数のドキュメントに対して一括更新操作を実行できます。 Update Documentsモーダルを使用してアップデートを実行すると、データへのアップデートを適用する前に視覚化できます。
このタスクについて
db.collection.updateMany()のupdateパラメータで動作する構文であればどれでもかまいません。Update Documentsモーダルは、アップサート、writeConcern、照合などの
optionsパラメータをサポートしていません。一括更新操作の影響を受けるドキュメントのプレビューは、データベースがトランザクション をサポートするように構成されている場合にのみ表示されます。 詳細については、 /core/transactions を参照してください。
手順
一括更新モーダルを開きます。
Documentsタブで、 Bulk 削除ダウン メニューをクリックし、Bulk update documents を選択します。または、周囲の空白を右クリックし、[Bulk update] を選択して Update Documents モーダルを表示することもできます。
モーダルには次の情報が含まれています。
UI Element | 説明 |
|---|---|
Filter | Query Barに指定されたフィルタ条件は、 Update Documentsモーダルに適用されます。 フィルタークエリを更新するには、 Update Documentsモーダルを終了し、 Query Barでクエリを変更します。 |
Update | フィルター条件で指定されたドキュメントに適用される更新構文。 |
Preview | 更新構文が適用されたドキュメントのプレビュー。 |
(任意)Updateに名前を付けて保存します。
Update Documentsモーダルで、更新クエリに名前を付けて保存することができます。 クエリを保存すると、そのコレクションのお気に入りのクエリに追加され、モーダルを閉じた後にクエリを読み込んでコピーできるようになります。
モーダルの左下にあるSave ] ボタンをクリックします。
更新構文の名前を入力します。
緑色の [ Save ] ボタンをクリックします。
例
次の例では、 sample_mflix データセット を使用します。
tomatoes.viewer.numReviewstomatoes.viewer.meterこの例では、Compass モーダルを使用して フィールドとUpdate Documents フィールドをアップデートします。
Query Barのフィルターを適用して、 yearが1917の映画をフィルタリングします。
{ 'year' : 1917 }
Bulk 削除ダウン メニューをクリックし、Bulk update documents を選択します。Update Documents モーダルが表示されます。
Updateテキストボックスに、次の構文を貼り付けます。
{ $inc: { "tomatoes.viewer.numReviews" : 1}, $set: { "tomatoes.viewer.meter" : 99 } }
この構文は次のとおりです。
Previewセクションには、アップデート クエリの影響を受けるサンプル ドキュメントが入力されます。
numReviewsフィールドとmeter フィールドの更新を表示するには:
をクリックしますtomatoesの横にある矢印 アイコン。
をクリックしますviewerの横にある矢印 アイコン。
コレクションのデータをアップデートするには、 Update Documentsボタンをクリックします。