複数のドキュメントの変更
Compass では、 Update Documentsモーダルを使用して、複数のドキュメントに対して一括更新操作を実行できます。 Update Documentsモーダルを使用してアップデートを実行すると、データへのアップデートを適用する前に視覚化できます。
このタスクについて
db.collection.updateMany()
のupdate
パラメータで動作する構文を使用できます。Update Documentsモーダルは、アップサート、writeConcern、照合などの
options
パラメータをサポートしていません。一括更新操作の影響を受けるドキュメントのプレビューは、データベースが トランザクション をサポートするように構成されている場合にのみ表示されます。 詳細については、「トランザクション 」を参照してください。
始める前に
Update Documentsモーダルは Compass バージョン1.42.0
以降で利用可能です。 最新の Compass バージョンの更新やインストールの手順については、「 Compass のダウンロードとインストール 」を参照してください。
手順
一括更新モーダルを開きます
DocumentsUpdate[ ] タブで、[Update Documents ] をクリックします モーダルを表示するには ボタンを押します。次の表は、 モーダルの UIをまとめたものです。
UI Element | 説明 |
---|---|
Filter | Query Barに指定されたフィルタ条件は、 Update Documentsモーダルに適用されます。 フィルタークエリを更新するには、 Update Documentsモーダルを終了し、 Query Barでクエリを変更します。 |
Update | フィルター条件で指定されたドキュメントに適用される更新構文。 db.collection.updateMany() のupdate パラメータで動作する構文であればどれでもかまいません。 |
Preview | 更新構文が適用されたドキュメントのプレビュー。 |
(任意)名前を付けて保存します Update
Update Documentsモーダルで、更新クエリに名前を付けて保存することができます。 クエリを保存すると、そのコレクションのお気に入りのクエリに追加され、モーダルを閉じた後にクエリを読み込んでコピーできるようになります。
モーダルの左下にあるSave ] ボタンをクリックします。
更新構文の名前を入力します。
緑色の [ Save ] ボタンをクリックします。
例
次の例では、 sample_mflix データセット を使用します。
tomatoes.viewer.numReviews
tomatoes.viewer.meter
この例では、Compass モーダルを使用して フィールドとUpdate Documents フィールドをアップデートします。
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ボタンをクリックします。