MongoDB: Updating Documents
Subject: nodejs
MongoDB: Updating Documents
Updating documents modifies existing records in a collection, keeping data current and accurate.
Why Update Documents?
- Data Evolution: Change prices, addresses, statuses.
 - Correction: Fix errors or outdated info.
 - Enrichment: Add new fields.
 - Counters/Metrics: Increment/decrement numeric fields.
 - Array Management: Add/remove elements from arrays.
 
Core Concepts
- Filter Document: Specifies which documents to update (like query filters).
 - Update Document: Contains update operators defining modifications.
 - Update Operators (must use):
$set: Set or add a field.$inc: Increment/decrement numeric fields.$unset: Remove a field.$push: Add element(s) to array.$pull: Remove element(s) from array.$addToSet: Add element if not present.$rename: Rename a field.$currentDate: Set field to current date/time.
 
Methods
updateOne(filter, update, options): Update a single matched document.updateMany(filter, update, options): Update multiple matched documents.replaceOne(filter, replacement, options): Replace entire document (except_id).
Options include:
upsert: true: Insert if no match.arrayFilters: Conditions to update specific array elements.
Node.js Examples
1. updateOne with $set and $inc
Update "Laptop Pro" price and decrement stock by 1.
2. updateMany with $set and $push
Change all "Peripherals" category and add "popular" tag to products with stock > 20.
3. replaceOne
Replace entire document for "External HDD".
Key Takeaways
updateOne()andupdateMany()update specific fields using operators.replaceOne()substitutes the entire document (except_id).- MongoDB updates are atomic per document.
 upsert: trueis useful for conditional insert-or-update.- Always use precise filters to avoid unintended changes.