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

删除文档

您可以使用 collection.deleteOne() 删除集合中的单个文档。deleteOne() 方法使用您提供的查询文档来匹配集合中与查询匹配的文档子集。如果未提供查询文档(或提供空文档),MongoDB 将匹配集合中的所有文档并删除首个匹配项。

您可以使用作为deleteOne方法的第二个参数传递的options对象来指定其他查询选项。 有关此方法的更多信息,请参阅 deleteOne() API 文档。

注意

如果您的应用程序在删除后需要被删除的文档,请考虑使用 collection.findOneAndDelete() 方法,此方法的接口与 deleteOne() 类似的接口 ,但也会返回已删除的文档。

以下代码片段从 movies 集合中删除单个文档。 它使用一个查询文档,该文档配置查询以匹配标题为 title 值“Annie Hall”的电影。

注意

可以使用此示例连接到 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 // Query for a movie that has title "Annie Hall"
14 const query = { title: "Annie Hall" };
15
16 const result = await movies.deleteOne(query);
17 if (result.deletedCount === 1) {
18 console.log("Successfully deleted one document.");
19 } else {
20 console.log("No documents matched the query. Deleted 0 documents.");
21 }
22 } finally {
23 await client.close();
24 }
25}
26run().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
8async function run() {
9 try {
10 const database = client.db("sample_mflix");
11 const movies = database.collection("movies");
12
13 // Query for a movie that has title "Annie Hall"
14 const query = { title: "Annie Hall" };
15
16 const result = await movies.deleteOne(query);
17 if (result.deletedCount === 1) {
18 console.log("Successfully deleted one document.");
19 } else {
20 console.log("No documents matched the query. Deleted 0 documents.");
21 }
22 } finally {
23 await client.close();
24 }
25}
26run().catch(console.dir);

注意

相同的代码片段

上述 JavaScript 和 TypeScript 代码片段完全相同。驱动程序没有与此使用案例相关的特定于 TypeScript 的功能。

运行前一示例应能看到以下输出:

Successfully deleted one document.

在后续运行上述示例时,由于已经删除了与查询匹配的文档,因此,应能看到以下输出:

No documents matched the query. Deleted 0 documents.

后退

删除操作