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

MongoDB-তে $ne অপারেটর ব্যবহার করে কোয়েরি করার পদ্ধতি


MongoDB-তে $ne (Not Equal) অপারেটর ব্যবহার করে কোয়েরি করা

MongoDB-তে কোনো ফিল্ডের মান নির্দিষ্ট ভ্যালু থেকে ভিন্ন থাকা ডকুমেন্ট খুঁজে বের করতে $ne অপারেটর ব্যবহার করা হয়।

সিন্ট্যাক্স:

db.yourCollectionName.find({yourFieldName: {$ne: yourValue}}).pretty();

ধাপ ১: ডকুমেন্টসহ কালেকশন তৈরি করুন

> db.notEqaulToDemo.insertOne({"StudentName":"Larry","StudentMathMarks":68});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbd3a6bde8cc557214c0ded") }
> db.notEqaulToDemo.insertOne({"StudentName":"Chris","StudentMathMarks":88});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbd3a79de8cc557214c0dee") }
> db.notEqaulToDemo.insertOne({"StudentName":"David","StudentMathMarks":45});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbd3a89de8cc557214c0def") }
> db.notEqaulToDemo.insertOne({"StudentName":"Carol","StudentMathMarks":69});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbd3a97de8cc557214c0df0") }

ধাপ ২: সব ডকুমেন্ট প্রদর্শন করুন

> db.notEqaulToDemo.find().pretty();

আউটপুট:

{
  "_id" : ObjectId("5cbd3a6bde8cc557214c0ded"),
  "StudentName" : "Larry",
  "StudentMathMarks" : 68
}
{
  "_id" : ObjectId("5cbd3a79de8cc557214c0dee"),
  "StudentName" : "Chris",
  "StudentMathMarks" : 88
}
{
  "_id" : ObjectId("5cbd3a89de8cc557214c0def"),
  "StudentName" : "David",
  "StudentMathMarks" : 45
}
{
  "_id" : ObjectId("5cbd3a97de8cc557214c0df0"),
  "StudentName" : "Carol",
  "StudentMathMarks" : 69
}

ধাপ ৩: StudentMathMarks ৮৮ নয় এমন ডকুমেন্ট খুঁজে বের করুন

> db.notEqaulToDemo.find({StudentMathMarks: {$ne: 88}}).pretty();

ফলাফল:

{
  "_id" : ObjectId("5cbd3a6bde8cc557214c0ded"),
  "StudentName" : "Larry",
  "StudentMathMarks" : 68
}
{
  "_id" : ObjectId("5cbd3a89de8cc557214c0def"),
  "StudentName" : "David",
  "StudentMathMarks" : 45
}
{
  "_id" : ObjectId("5cbd3a97de8cc557214c0df0"),
  "StudentName" : "Carol",
  "StudentMathMarks" : 69
}

ব্যাখ্যা:

  • {$ne: 88} - "Not Equal to 88" মানে ৮৮ ছাড়া সব ভ্যালু
  • Chris (৮৮) বাদে বাকি ৩টি ডকুমেন্ট রিটার্ন হয়েছে
  • $ne নাল (null) ভ্যালুও ম্যাচ করে (যদি ফিল্ড থাকে কিন্তু মান null হয়)

দ্রষ্টব্য: $ne ইনডেক্স ব্যবহার করে না (full collection scan করে), তাই বড় কালেকশনে পারফরম্যান্সে প্রভাব পড়তে পারে। সম্ভব হলে positieভ শর্ত ($eq, $gt, $lt ইত্যাদি) ব্যবহার করা ভালো।

  1. MongoDB-এ সবচেয়ে দীর্ঘ সময়কাল (Longest Time Period) वाले অবজেক্ট খুঁজে বের করা

  2. MongoDB-এ সাব-ডকুমেন্টের শর্ত অনুযায়ী ডকুমেন্ট কোয়েরি করা

  3. MongoDB-তে LIMIT ব্যবহার করে কোয়ারি করার পদ্ধতি

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