MongoDB-এ অটো-ইনক্রিমেন্ট সিকোয়েন্স বাস্তবায়ন করতে একটি আলাদা কালেকশন রেখে সিকোয়েন্স মান রাখা হয় এবং findAndModify ব্যবহার করে অ্যাটমিক্যালি বেড়ানো হয়।
১. সিকোয়েন্স কালেকশন তৈরি:
> db.createSequenceDemo.insertOne({_id: "SID", S_Value: 0});
২. নেক্সট সিকোয়েন্স ফাংশন তৈরি:
> function nextSequence(s) {
var sd = db.createSequenceDemo.findAndModify({
query: {_id: s},
update: {$inc: {S_Value: 1}},
new: true
});
return sd.S_Value;
}
৩. ডকুমেন্ট ইনসার্ট করার সময় ফাংশন কল:
> db.checkSequenceDemo.insertOne({"StudentId": nextSequence("SID"), "StudentName": "Larry", "StudentMathMarks": 78});
> db.checkSequenceDemo.insertOne({"StudentId": nextSequence("SID"), "StudentName": "Mike", "StudentMathMarks": 89});
> db.checkSequenceDemo.insertOne({"StudentId": nextSequence("SID"), "StudentName": "Sam", "StudentMathMarks": 67});
ফলাফল: StudentId অনুক্রমে ১, ২, ৩ হবে।
⚠️ নোট: MongoDB 4.4+ এ findAndModify এর পরিবর্তে findOneAndUpdate ব্যবহার করা ভালো। প্রোডাকশনে হাই-কনকারেন্সির জন্য UUID বা ObjectId ব্যবহার করুন।