删除多个文档
此版本的文档已存档,不再提供支持。 查看最新文档,了解如何升级您的 Node.js 驱动程序版本。
您可以使用 collection.deleteMany() 方法一次删除集合中的多个文档方法。 将查询文档传递给 deleteMany()
方法,以指定集合中要删除的文档子集。 如果未提供查询文档(或提供空文档),MongoDB 会匹配集合中的所有文档并将其删除。 虽然您可以使用deleteMany()
删除集合中的所有文档,但请考虑使用 drop() 以获得更好的性能和更清晰的代码。
您可以在deleteMany()
方法的第二个参数中传递的options
对象中指定其他选项。 有关更多详细信息,请参阅 deleteMany() API 文档。
例子
以下代码片段从 movies
集合中删除多个文档。它使用一个查询文档,该文档配置查询以匹配和删除标题为“Santa Claus”的电影。
注意
可以使用此示例连接到 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 // Query for all movies with a title containing the string "Santa" 13 const query = { title: { $regex: "Santa" } }; 14 15 const result = await movies.deleteMany(query); 16 console.log("Deleted " + result.deletedCount + " documents"); 17 } finally { 18 await client.close(); 19 } 20 } 21 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 interface Movie { 9 title: string; 10 } 11 12 async function run() { 13 try { 14 const database = client.db("sample_mflix"); 15 const movies = database.collection<Movie>("movies"); 16 const result = await movies.deleteMany({ title: { $regex: "Santa" } }); 17 console.log("Deleted " + result.deletedCount + " documents"); 18 } finally { 19 await client.close(); 20 } 21 } 22 run().catch(console.dir);
首次运行前面的示例时,应看到以下输出:
Deleted 19 documents
在该示例的后续运行中,由于您已删除所有相关文档,因此您应该看到以下输出:
Deleted 0 documents