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

MongoDB-তে অ্যারে ফিল্ডের ডISTINCT অগ리게েশন কীভাবে পাবেন?

distinct() মেথড ব্যবহার

একাধিক ডকুমেন্টের অ্যারে ফিল্ড থেকে সব অনন্য (unique) মান পাওয়ার জন্য distinct() মেথড ব্যবহার করা হয়। ইনডেক্স থাকলে কুয়েরি দ্রুত হয়।

উদাহরণ: ডকুমেন্ট তৈরি

> db.distinctAggregation.insertOne({"UserName":"Larry","UserPost":["Hi","Hello"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5c98aefb330fd0aa0d2fe4c6") }
> db.distinctAggregation.insertOne({"UserName":"Chris","UserPost":["Hi","Good Morning"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5c98af0a330fd0aa0d2fe4c7") }
> db.distinctAggregation.insertOne({"UserName":"Robert","UserPost":["Awesome"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5c98af1e330fd0aa0d2fe4c8") }

ইনডেক্স তৈরি (অপশনাল, পারফরম্যান্সের জন্য)

> db.distinctAggregation.ensureIndex({"UserPost": 1});
{ "createdCollectionAutomatically" : false, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 }

ডISTINCT মান পাওয়া

> db.distinctAggregation.distinct("UserPost");

আউটপুট:

[ "Awesome", "Good Morning", "Hello", "Hi" ]

ব্যাখ্যা: distinct("UserPost") সব ডকুমেন্টের UserPost অ্যারে থেকে ডুপ্লিকেট বাদ দিয়ে অনন্য মান গুলো রিটার্ন করে। ইনডেক্স থাকলে বড় ডেটাসেটে কুয়েরি অনেক দ্রুত হয়।

  1. MongoDB-এ অ্যারে টাইপ ফিল্ডের মান বাদ দেওয়া (এক্সক্লুড)

  2. MongoDB-এ পপুলেটেড ফিল্ডে অ্যারে স্লাইস করা

  3. MongoDB-তে অ্যাগ্রিগেশন দিয়ে অ্যারে এলিমেন্টের গড় (Average) বের করা ($avg)

  4. C++-এ অ্যারেতে স্বতন্ত্র উপাদান গণনা