কম্পিউটার টিউটোরিয়াল

MongoDB-এ সিকোয়েন্স (Sequence) মডিফাই করার পদ্ধতি

findAndModify() ব্যবহার করে অটো-ইনক্রিমেন্ট সিকোয়েন্স তৈরি

MongoDB-এ অটো-ইনক্রিমেন্ট ফিল্ড (যেমন SQL-এর AUTO_INCREMENT) বাস্তবায়ন করতে findAndModify() ব্যবহার করে একটি সিকোয়েন্স কালেকশন মেইন্টেইন করা হয়।

নমুনা সংগ্রহ তৈরি

> db.demo261.insertOne({_id:100,Name:"Chris"});
{ "acknowledged" : true, "insertedId" : 100 }

সিকোয়েন্স কালেকশন তৈরি এবং ফাংশন

> db.demo262.insert({_id:"newId",sequence_value:0})
WriteResult({ "nInserted" : 1 })
> function getNext(sName){
    var d= db.demo262.findAndModify({
        query:{_id: sName},
        update: {$inc:{sequence_value:1}},
        new:true
    });
    return d.sequence_value;
}

ফাংশন কল করে সিকোয়েন্স জেনারেট

> db.demo261.insert({ "_id":getNext("newId"), "Name":"Chris" })
WriteResult({ "nInserted" : 1 })
> db.demo261.insert({ "_id":getNext("newId"), "Name":"Bob" })
WriteResult({ "nInserted" : 1 })

ফলাফল দেখানো

> db.demo261.find();

আউটপুট:


ব্যাখ্যা: findAndModify() অ্যাটমিক্যালি sequence_value বাড়ায় এবং নতুন মান ফেরত দেয়। এটি কনকারেন্ট এনভায়রনমেন্টেও সেফ। MongoDB 4.2+ এ findOneAndUpdate() ব্যবহার করা ভালো।

  1. MongoDB-তে প্রজেক্ট ফিল্ড ব্যবহার করা

  2. MongoDB-এ ({$natural: 1}) সর্ট অর্ডার বোঝা

  3. MongoDB-তে find()-এ প্রজেকশন দিয়ে _id ফিল্ড হাইড করা

  4. MongoDB-এ মাস ইন্সারশন (insertMany)