UpdateOne
UpdateOne: 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 14 of 100
UpdateOne
Foundations & CRUD → Queries & Schema → Aggregation & Scale → Atlas & Projects
Foundations & CRUD · 1 — Documents · ~6 min · MongoDB — CRUD Operations
What is this?
updateOne changes the first document that matches a filter. You almost always use update operators like $set, $inc, or $unset — not a raw document — unless you mean to replace.
Why should you care?
When a user changes city or an order moves to shipped, you patch one document safely without rewriting unrelated fields.
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.users.insertOne({ username: "neha", city: "Jaipur", loginCount: 2 })
db.users.updateOne(
{ username: "neha" },
{ $set: { city: "Bengaluru" }, $inc: { loginCount: 1 } }
)
db.users.findOne({ username: "neha" })
Run Example »
Edit the code below and click Run to see the result in Toolliyo’s live editor.
What happened?
- The filter finds neha.
- $set updates city.
- $inc adds 1 to loginCount.
- Other fields stay untouched.
Practice next
- Insert the user and run updateOne.
- Confirm city and loginCount.
- Run updateOne with a filter that matches nothing — check matchedCount 0.
- Add $set: { lastLoginAt: new Date() }.
- Use upsert: true to insert if missing.
Remember
updateOne patches the first match. Use $set / $inc / $unset. Check matchedCount and modifiedCount.
Zomato rider status flip
When a rider accepts an order, updateOne sets status to "accepted" and increments acceptanceCount.
Outcome: Only that rider document changes — live map updates instantly.
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!