複数のドキュメントの更新
このバージョンのドキュメントはアーカイブされており、サポートされなくなりました。 Node.js ドライバー のバージョンをアップグレードする 方法については、 現在のドキュメント を表示します。
コレクション.updateMany() メソッドを使用して複数のドキュメントを更新できます使用して複数のドキュメントを挿入できます。 updateMany()
メソッドは フィルター ドキュメント と アップデート ドキュメントを受け入れます。 クエリがコレクション内のドキュメントと一致する場合、メソッドは、アップデートドキュメントからのアップデートを一致するドキュメントのフィールドと値に適用します。 更新ドキュメントでは、更新演算子がドキュメント内のフィールドを変更する必要があります。
updateMany()
メソッドの 3 番目のパラメータで渡されるoptions
オブジェクトで、追加のオプションを指定できます。 詳しくは 、 updateMany() API ドキュメント を参照してください。
例
注意
この例を使用して、MongoDB のインスタンスに接続し、サンプルデータを含むデータベースと交流できます。MongoDB インスタンスへの接続とサンプルデータセットの読み込みの詳細については、 使用例ガイドを参照してください。
1 import { MongoClient } from "mongodb"; 2 3 // Replace the uri string with your MongoDB deployment's connection string. 4 const uri = "<connection string uri>"; 5 6 const client = new MongoClient(uri); 7 8 async function run() { 9 try { 10 const database = client.db("sample_mflix"); 11 const movies = database.collection("movies"); 12 13 // create a filter to update all movies with a 'G' rating 14 const filter = { rated: "G" }; 15 16 // increment every document matching the filter with 2 more comments 17 const updateDoc = { 18 $set: { 19 random_review: `After viewing I am ${ 20 100 * Math.random() 21 }% more satisfied with life.`, 22 }, 23 }; 24 const result = await movies.updateMany(filter, updateDoc); 25 console.log(`Updated ${result.modifiedCount} documents`); 26 } finally { 27 await client.close(); 28 } 29 } 30 run().catch(console.dir);
1 import { MongoClient } from "mongodb"; 2 3 // Replace the uri string with your MongoDB deployment's connection string. 4 const uri = "<connection string uri>"; 5 6 const client = new MongoClient(uri); 7 8 enum Rating { 9 G = "G", 10 PG = "PG", 11 PG_13 = "PG-13", 12 R = "R", 13 NR = "NOT RATED", 14 } 15 16 interface Movie { 17 rated: Rating; 18 random_review?: string; 19 } 20 21 async function run() { 22 try { 23 const database = client.db("sample_mflix"); 24 const movies = database.collection<Movie>("movies"); 25 const result = await movies.updateMany( 26 { rated: Rating.G }, 27 { 28 $set: { 29 random_review: `After viewing I am ${ 30 100 * Math.random() 31 }% more satisfied with life.`, 32 }, 33 } 34 ); 35 console.log(`Updated ${result.modifiedCount} documents`); 36 } finally { 37 await client.close(); 38 } 39 } 40 run().catch(console.dir);
上記の例を実行すると、次の出力が表示されます。
Updated 477 documents