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

MongoDB-এ distinct() ব্যবহার করে SQL-এর SELECT DISTINCT সমতুল্য কোয়েরি

MongoDB-এ distinct() মেথড ব্যবহার করে কোনো ফিল্ডের অনন্য (unique) মানগুলো বের করা যায়, যা SQL-এর SELECT DISTINCT-এর সমতুল্য।

নমুনা ডেটা তৈরি

> db.distinctNameAndAgeDemo.insertOne({"ClientFirstName":"John","Age":23});
{ "acknowledged": true, "insertedId": ObjectId("5cd12759e3526dbddbbfb60b") }
> db.distinctNameAndAgeDemo.insertOne({"ClientFirstName":"Larry","Age":25});
{ "acknowledged": true, "insertedId": ObjectId("5cd12768e3526dbddbbfb60c") }
> db.distinctNameAndAgeDemo.insertOne({"ClientFirstName":"David","Age":25});
{ "acknowledged": true, "insertedId": ObjectId("5cd12773e3526dbddbbfb60d") }
> db.distinctNameAndAgeDemo.insertOne({"ClientFirstName":"Carol","Age":26});
{ "acknowledged": true, "insertedId": ObjectId("5cd1277ee3526dbddbbfb60e") }
> db.distinctNameAndAgeDemo.insertOne({"ClientFirstName":"Sam","Age":25});
{ "acknowledged": true, "insertedId": ObjectId("5cd12793e3526dbddbbfb60f") }
> db.distinctNameAndAgeDemo.insertOne({"ClientFirstName":"Larry","Age":25});
{ "acknowledged": true, "insertedId": ObjectId("5cd127a3e3526dbddbbfb610") }
> db.distinctNameAndAgeDemo.insertOne({"ClientFirstName":"Carol","Age":26});
{ "acknowledged": true, "insertedId": ObjectId("5cd127aae3526dbddbbfb611") }

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

> db.distinctNameAndAgeDemo.find().pretty();
আউটপুট:
{
  "_id": ObjectId("5cd12759e3526dbddbbfb60b"),
  "ClientFirstName": "John",
  "Age": 23
}
{
  "_id": ObjectId("5cd12768e3526dbddbbfb60c"),
  "ClientFirstName": "Larry",
  "Age": 25
}
{
  "_id": ObjectId("5cd12773e3526dbddbbfb60d"),
  "ClientFirstName": "David",
  "Age": 25
}
{
  "_id": ObjectId("5cd1277ee3526dbddbbfb60e"),
  "ClientFirstName": "Carol",
  "Age": 26
}
{
  "_id": ObjectId("5cd12793e3526dbddbbfb60f"),
  "ClientFirstName": "Sam",
  "Age": 25
}
{
  "_id": ObjectId("5cd127a3e3526dbddbbfb610"),
  "ClientFirstName": "Larry",
  "Age": 25
}
{
  "_id": ObjectId("5cd127aae3526dbddbbfb611"),
  "ClientFirstName": "Carol",
  "Age": 26
}

SQL: SELECT DISTINCT(name) FROM collectionName WHERE age = "25" এর সমতুল্য MongoDB কোয়েরি

> db.distinctNameAndAgeDemo.distinct("ClientFirstName", {"Age": 25});
আউটপুট:
[ "Larry", "David", "Sam" ]

ব্যাখ্যা: ২৫ বছর বয়স वाले সবার অনন্য নামগুলো বের হয়েছে। Larry দুবার থাকা সত্ত্বেও একবারই আসেছে।

  1. MongoDB aggregate ব্যবহার করে NAME ফিল্ড থেকে ডুপ্লিকেট নামের ফ্রিকোয়েন্সি বের করা

  2. MongoDB-এ কালেকশন থেকে টপমোস্ট (প্রথম) ডকুমেন্ট বের করা

  3. MongoDB-তে $where ব্যবহার করে বিলিং এবং ডেলিভারি ঠিকানা সমান হলে ডকুমেন্ট বের করা

  4. MongoDB ডকুমেন্টের সর্বোচ্চ সাইজ কত?