DeleteOne
DeleteOne: free step-by-step lesson with examples, common mistakes, and interview tips — part of MongoDB Tutorial on Toolliyo Academy.
On this page
MongoDB Tutorial · Lesson 17 of 100
DeleteOne
Foundations & CRUD → Queries & Schema → Aggregation & Scale → Atlas & Projects
Foundations & CRUD · 1 — Documents · ~6 min · MongoDB — CRUD Operations
What is this?
deleteOne removes the first document that matches a filter. It returns deletedCount 0 or 1. Prefer filtering by _id in apps.
Why should you care?
Users delete one comment, one draft post, or revoke one API key — surgical deletes avoid wiping related data.
See it live — copy this example
Open mongosh or MongoDB Compass, select database nosqlverse, then run the example. Change one field and run again.
db.posts.insertMany([
{ title: "Draft A", status: "draft" },
{ title: "Draft B", status: "draft" }
])
db.posts.deleteOne({ title: "Draft A" })
db.posts.find({ status: "draft" })
Run Example »
Edit the code below and click Run to see the result in Toolliyo’s live editor.
What happened?
- Two drafts exist.
- deleteOne removes only Draft A (first match for that filter).
- Draft B remains.
- find confirms one draft left.
Practice next
- Insert both drafts and delete Draft A.
- Delete by _id: first findOne, then deleteOne({ _id }).
- Call deleteOne on a missing title — deletedCount 0.
- Insert three docs with same status and see which one deleteOne removes.
- Use a unique email filter for users.
Remember
deleteOne removes one matching document. Filter carefully — usually by _id. Check deletedCount.
User removes one saved address
In a shopping app, deleteOne targets { _id: addressId, userId } so you cannot delete someone else’s address.
Outcome: Only that address disappears from checkout.
Interview prep for this lesson
Practice these questions aloud after reading—each links to a full structured answer.
Sign in to ask a question or upvote helpful answers.
No questions yet — be the first to ask!