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

Delete a Document

You can delete a single document in a collection with collection.deleteOne(). The deleteOne() method uses a query document that you provide to match the subset of the documents in the collection that match the query. If you do not provide a query document (or if you provide an empty document), MongoDB matches all documents in the collection and deletes the first match.

You can specify additional query options using the options object passed as the second parameter of the deleteOne method. For more information on this method, see the deleteOne() API documentation.

Note

If your application requires the deleted document after deletion, consider using the collection.findOneAndDelete() method, which has a similar interface to deleteOne() but also returns the deleted document.

The following snippet deletes a single document from the movies collection. It uses a query document that configures the query to match movies with a title value of "Annie Hall".

Note

You can use this example to connect to an instance of MongoDB and interact with a database that contains sample data. To learn more about connecting to your MongoDB instance and loading a sample dataset, see the Usage Examples guide.

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);

Note

Identical Code Snippets

The JavaScript and TypeScript code snippets above are identical. There are no TypeScript specific features of the driver relevant to this use case.

If you run the preceding example, you should see the following output:

Successfully deleted one document.

On subsequent runs of the preceding example, as you already deleted the document that matched your query, you should see the following output:

No documents matched the query. Deleted 0 documents.

Back

Delete Operations