Docs Menu
Docs Home
/ / /
Node.js
/ /

複数のドキュメントの更新

コレクション.updateMany() メソッドを使用して複数のドキュメントを更新できます使用して複数のドキュメントを挿入できます。 updateMany()メソッドは フィルター ドキュメント と アップデート ドキュメントを受け入れます。 クエリがコレクション内のドキュメントと一致する場合、メソッドは、アップデートドキュメントからのアップデートを一致するドキュメントのフィールドと値に適用します。 更新ドキュメントでは、更新演算子がドキュメント内のフィールドを変更する必要があります。

updateMany()メソッドの 3 番目のパラメータで渡されるoptionsオブジェクトで、追加のオプションを指定できます。 詳しくは 、 updateMany() API ドキュメント を参照してください。

注意

この例を使用して、MongoDB のインスタンスに接続し、サンプルデータを含むデータベースと交流できます。MongoDB インスタンスへの接続とサンプルデータセットの読み込みの詳細については、 使用例ガイドを参照してください。

1import { MongoClient } from "mongodb";
2
3// Replace the uri string with your MongoDB deployment's connection string.
4const uri = "<connection string uri>";
5
6const client = new MongoClient(uri);
7
8async 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}
30run().catch(console.dir);
1import { MongoClient } from "mongodb";
2
3// Replace the uri string with your MongoDB deployment's connection string.
4const uri = "<connection string uri>";
5
6const client = new MongoClient(uri);
7
8enum Rating {
9 G = "G",
10 PG = "PG",
11 PG_13 = "PG-13",
12 R = "R",
13 NR = "NOT RATED",
14}
15
16interface Movie {
17 rated: Rating;
18 random_review?: string;
19}
20
21async 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}
40run().catch(console.dir);

上記の例を実行すると、次の出力が表示されます。

Updated 477 documents

戻る

ドキュメントの更新