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

MongoDB কোয়ারীতে ভেরিয়েবল (Variable) ব্যবহার করার পদ্ধতি

MongoDB শেলে জাভাস্ক্রিপ্ট ভেরিয়েবল (var, let, const) ব্যবহার করে ডাইনামিক কোয়ারী লিখা যায়। এটি পুনরাবৃত্তি কমাতে এবং কোড পঠনযোগ্য বানাতে সাহায্য করে।

কলেকশন এবং ডকুমেন্ট তৈরি

> db.demo107.insertOne({"Name":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e2ee1b19fd5fd66da214471") }
> db.demo107.insertOne({"Name":"Bob"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e2ee1b49fd5fd66da214472") }
> db.demo107.insertOne({"Name":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e2ee1b89fd5fd66da214473") }

সব ডকুমেন্ট দেখানো

>> db.demo107.find();

আউটপুট:

{ "_id" : ObjectId("5e2ee1b19fd5fd66da214471"), "Name" : "Chris" }
{ "_id" : ObjectId("5e2ee1b49fd5fd66da214472"), "Name" : "Bob" }
{ "_id" : ObjectId("5e2ee1b89fd5fd66da214473"), "Name" : "David" }

ভেরিয়েবল ব্যবহার করে কোয়ারী

> var firstName = "Bob";
> db.demo107.find({"Name": firstName});

ফলাফল

{ "_id" : ObjectId("5e2ee1b49fd5fd66da214472"), "Name" : "Bob" }

ব্যাখ্যা: var firstName = "Bob" দিয়ে ভেরিয়েবল ডিক্লেয়ার করা হয়েছে, তারপর কোয়ারীতে firstName ব্যবহার করা হয়েছে।

আধুনিক জাভাস্ক্রিপ্ট (ES6+) ব্যবহার:

const firstName = "Bob";
const query = { Name: firstName };
const results = db.demo107.find(query).toArray();
printjson(results);

অতিরিক্ত উদাহরণ:

  • অ্যারে ভেরিয়েবল: var names = ["Chris", "Bob"]; db.demo107.find({Name: {$in: names}})
  • অবজেক্ট ভেরিয়েবল: var filter = {Name: "David", Age: {$gt: 20}}; db.demo107.find(filter)
  • রেগুলার এক্সপ্রেশন ভেরিয়েবল: var pattern = /^Ch/; db.demo107.find({Name: pattern})

বেস্ট প্র্যাকটিস:

  • var বদলে const (কনস্ট্যান্ট) বা let (রি-অ্যাসাইনেবল) ব্যবহার করুন
  • কোয়ারী অবজেক্ট আলাদা ভেরিয়েবলে রাখলে ডিবাগিং সহজ হয়
  • বড় কোয়ারীতে ভেরিয়েবল ব্যবহার করে কোড মডুলার রাখুন

নোট: MongoDB শেল (mongosh) এখন ES6+ ফুল সাপোর্ট করে। পুরানো mongo শেলে শুধু ES5 সাপোর্ট ছিল।

  1. MongoDB-এ স্টোরড জাভাস্ক্রিপ্ট ফাংশন ব্যবহার করা

  2. MongoDB-এ কেস-ইনসেনসিটিভ (Case-Insensitive) "Like" কোয়েরি (Regex /i)

  3. MongoDB-এ $push অপারেটর ব্যবহার করে অ্যারে আপডেট করা

  4. MongoDB-এ bulkWrite() দিয়ে এক কোয়েরিতে একাধিক ডকুমেন্ট আপডেট করা