MongoDB डेटा (/), (/ ऑपरेटरसह) आणि (/) पद्धतींनी सुधारतो. अपडेट संपूर्ण दस्तऐज बदलण्याऐवजी वापरतात — हा एक महत्वाचा फरक आहे.
MongoDB डेटा (/), (/ ऑपरेटरसह) आणि (/) पद्धतींनी सुधारतो. अपडेट संपूर्ण दस्तऐज बदलण्याऐवजी वापरतात — हा एक महत्वाचा फरक आहे.
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
महत्वाचे: updates ऑपरेटर ($set, $inc, $push, इ.) वापरतात विशिष्ट फील्ड सुधारण्यासाठी. ऑपरेटर न वापरता, तुम्ही संपूर्ण दस्तऐज बदलाल — एक सामान्य त्रुटी:
// ❌ 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
);
Insert, update, आणि delete ऑपरेशन हे MongoDB मध्ये डेटा बदलण्याचे मार्ग आहेत, कोणत्याही डेटा-संचालित अनुप्रयोगासाठी मूलभूत, म्हणून त्यांची समज आवश्यक रोजचे ज्ञान आहे.
पद्धती (insertOne/insertMany तयार करण्यासाठी, updateOne/updateMany सुधारण्यासाठी, deleteOne/deleteMany काढून टाकण्यासाठी) जाणून घेणे मूलभूत गोष्टींचा समावेश करते.
सर्वात महत्वाचा आणि सामान्यतः चुकीचा मुद्दा असा आहे की MongoDB updates update ऑपरेटर ($set, $inc, $push, $pull, इ.) वापरतात विशिष्ट फील्ड सुधारण्यासाठी — आणि महत्वाचे म्हणजे, ऑपरेटर विसरल्यास संपूर्ण दस्तऐज बदली जाते (एक बदनाम त्रुटी जेथे updateOne({...}, {age: 31}) इतर सर्व फील्ड मिटवतो, केवळ age शिल्लक राहते), म्हणून फील्ड-स्तरीय अपडेटसाठी नेहमी $set (आणि इतर ऑपरेटर) वापरणे ही समझ अचूकतेसाठी आवश्यक आहे.
सामान्य ऑपरेटर ($set, $inc काउंटरसाठी, $push/$pull/$addToSet arrays साठी — array ऑपरेटर MongoDB च्या array-समृद्ध दस्तऐजांच्या संदर्भात विशेषतः प्रासंगिक) जाणून घेणे महत्वाचे रोजचे ज्ञान आहे.
Upsert समजून घेणे ({ upsert: true } — जर कोणताही जुळ न आढळला तर insert करा, MongoDB चा insert-किंवा-update) सामान्य insert-किंवा-update पद्धतीसाठी मूल्यवान आहे.
deleteMany({}) (सर्वकाही हटवणे — SQL मधील missing-WHERE धोक्याप्रमाणे) चा धोका लक्षात घेणे देखील योग्य आहे.
डेटा सुधारणे मूलभूत असल्याने, आणि MongoDB च्या ऑपरेटर-आधारित updates (दस्तऐज-बदल त्रुटीसह), array ऑपरेटर, आणि upsert हे कसे तुम्ही डेटा योग्यरित्या बदलता याचे मार्ग असल्याने, insert/update/delete समजून घेणे — विशेषतः गंभीर update-ऑपरेटर फरक (अनावधानतापूर्ण दस्तऐज बदल टाळणे) — कोणत्याही MongoDB विकासासाठी आवश्यक, अवश्य-माहित ज्ञान आहे, जेथे ऑपरेटर त्रुटी विशेषतः वास्तविक बग चा वारंवार स्रोत आहे.
सविस्तर उत्तरांसह IT मुलाखत प्रश्नांचे ग्रंथालय — Junior पासून Senior पर्यंत.
देणगी द्या