MongoDB ngowahi data nganggo metode (/), (/ nganggo operator), lan (/). Update nggunakake tinimbang ngganti keseluruhan dokumen — perbedaan penting banget.
MongoDB ngowahi data nganggo metode (/), (/ nganggo operator), lan (/). Update nggunakake tinimbang ngganti keseluruhan dokumen — perbedaan penting banget.
insertOneinsertManyupdateOneupdateManydeleteOnedeleteManydb.users.insertOne({ name: "Ann", age: 30 }); // → returns the inserted _id
db.users.insertMany([{ name: "Bob" }, { name: "Carol" }]); // bulk insert (efficient)
// updateOne — filter (which doc) + update (with OPERATORS)
db.users.updateOne(
{ name: "Ann" },
{ $set: { age: 31, status: "active" } } // $set: change specific fields
);
// common update operators
{ $set: { field: value } } // set/change a field
{ $unset: { field: "" } } // remove a field
{ $inc: { count: 1 } } // increment a number
{ $push: { tags: "new" } } // add to an array
{ $pull: { tags: "old" } } // remove from an array
{ $addToSet: { tags: "x" } } // add to array only if not present
db.users.updateMany({ active: false }, { $set: { archived: true } }); // update all matching
Penting: update nggunakake operator ($set, $inc, $push, lsp.) kanggo ngowahi field tertentu. Tanpa operator, sampeyan bakal ngganti keseluruhan dokumen — pitfall umum:
// ❌ this REPLACES the whole document (loses other fields!)
db.users.updateOne({ name: "Ann" }, { age: 31 }); // Ann now has ONLY age!
// ✅ use $set to change just the field
db.users.updateOne({ name: "Ann" }, { $set: { age: 31 } });
db.users.deleteOne({ name: "Ann" }); // delete the first match
db.users.deleteMany({ active: false }); // delete all matching
db.users.deleteMany({}); // ⚠️ deletes ALL documents!
db.users.updateOne(
{ email: "[email protected]" },
{ $set: { name: "Ann" } },
{ upsert: true } // if no match, INSERT a new document
);
Operasi nglumpukake, nganyari, lan nglumpukake yaiku cara aplikasi ngowahi data ing MongoDB, dhasar kanggo aplikasi apa wae sing didorong data, dadi pangertèn bakal sangat penting kanggo kasudhian.
Nang-arti metode (insertOne/insertMany kanggo nggawe, updateOne/updateMany kanggo nganyari, deleteOne/deleteMany kanggo nglumpukake) nutupi dhasar.
Poin paling penting lan sering ora dikarepake yaiku MongoDB update nggunakake update operator ($set, $inc, $push, $pull, lsp.) kanggo ngowahi field tertentu — lan krusial banget, lali operator ngganti keseluruhan dokumen (pitfall sing mashur nalika updateOne({...}, {age: 31}) nglumpukake kabeh field liya, tinggal age), dadi ngerti kudu tansah nggunakake $set (lan operator liya) kanggo update tingkat field penting banget kanggo kapenuhan.
Nang-arti operator umum ($set, $inc kanggo counter, $push/$pull/$addToSet kanggo array — operator array sangat relevan amarga dokumen MongoDB kaya array) penting kanggo kasudhian.
Pangertèn upsert ({ upsert: true } — nglumpukake yen ora ana sing cocok, pola nglumpukake-utawa-nganyari MongoDB) berharga kanggo pola nglumpukake-utawa-nganyari umum.
Oro uga perlu dicathet adalah bahaya deleteMany({}) (nglumpukake kabeh — padha karo bahaya missing-WHERE ing SQL).
Amarga ngowahi data dhasar, lan amarga update berbasis operator MongoDB (nganggo pitfall penggantian dokumen), operator array, lan upsert yaiku cara kapenuhan kanggo ngganti data, pangertèn nglumpukake/nganyari/nglumpukake — nang-arti bedhe update-operator krusial (nyegah penggantian dokumen sing ora kaetung) — penting, pangertèn kudu-tahu kanggo pengembangan MongoDB apa wae, nalika pitfall operator khususnya sumber kesalahan nyata sering.