MongoDB-এ save() মেথড ব্যবহার করে অবজেক্ট সেভ এবং রিট্রিভ
save() মেথড একটি ডকুমেন্ট ইনসার্ট বা আপডেট করে। যদি ডকুমেন্টে _id থাকে, তবে আপডেট করে; না থাকলে নতুন ইনসার্ট করে এবং অটোমেটিক্যালি _id জেনারেট করে। সেভ করার পর ভেরিয়েবলটি আপডেট হয়ে _id সহ ফেরত আসে।
সিনট্যাক্স
var anyVariableName = yourValue; db.anyCollectionName.save(yourVariableName); yourVariableName;
উদাহরণ: ছাত্রের বিস্তারিত অবজেক্ট তৈরি
> var studentDetails = {"StudentName":"Chris","ListOfMarks":[56,78,89],"ListOfSubject":["MySQL","Java","MongoDB"]};
অবজেক্ট সেভ করা
> db.demo40.save(studentDetails);
WriteResult({ "nInserted" : 1 })
সেভ করা অবজেক্ট দেখানো (এখন _id সহ)
> studentDetails;
{ "StudentName" : "Chris", "ListOfMarks" : [ 56, 78, 89 ], "ListOfSubject" : [ "MySQL", "Java", "MongoDB" ], "_id" : ObjectId("5e177757cfb11e5c34d898e2") }
মূল পয়েন্ট
save()লিগ্যাসি মেথড; আধুনিক MongoDB-এinsertOne(),replaceOne(),updateOne()ব্যবহার করা ভালো।save()শেল-স্পেসিফিক; ড্রাইভারে নেই।- সেভ করার পর ভেরিয়েবলটি মিউটেট হয় (_id যুক্ত হয়)।
- যদি _id দিয়ে সেভ করলে আপসার্ট (upsert) আচরণ করে।
আধুনিক বিকল্প
const result = await db.collection('demo40').insertOne(studentDetails);
studentDetails._id = result.insertedId;