Docs 菜单
Docs 主页
/ / /
Node.js
/ /

更新多个文档

您可以使用.updateMany()集合 更新多个文档方法。 updateMany()方法接受过滤文档和更新文档。 如果查询与集合中的文档匹配,则该方法会将更新文档中的更新应用于匹配文档的字段和值。 更新文档需要更新操作符来修改文档中的字段。

您可以在 updateMany() 方法的第三个参数中传递的 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

后退

更新文档