অবজেক্ট অ্যারে গ্রুপ করা ডট নোটেশন দিয়ে
MongoDB-এ নেস্টেড অ্যারেতে থাকা ফিল্ড অনুযায়ী গ্রুপ করতে ডট নোটেশন (details.Name) ব্যবহার করা হয়।
নমুনা ডেটা তৈরি
> db.demo430.insertOne({
"details": [
{ "Name": "Chris" },
{ "Name": "David" },
{ "Name": "Adam" },
{ "Name": "Bob" }
]
})
সমস্ত ডকুমেন্ট দেখানো
> db.demo430.find()
আউটপুট:
{ "_id": ObjectId("..."), "details": [{ "Name": "Chris" }, { "Name": "David" }, { "Name": "Adam" }, { "Name": "Bob" }] }
গ্রুপ করার কোয়েরি
> db.demo430.aggregate([{ "$group": { "_id": { "Name": "$details.Name" } }}])
ফলাফল:
{ "_id": { "Name": ["Chris", "David", "Adam", "Bob"] } }
ব্যাখ্যা
$details.Name: ডট নোটেশন ব্যবহার করে অ্যারেতে থাকা প্রতিটি অবজেক্টেরNameফিল্ড অ্যাক্সেস করা হয়েছে- MongoDB স্বয়ংক্রিয়ভাবে অ্যারের সব এলিমেন্টের নাম সংগ্রহ করে একটি অ্যারে বানায়
_idফিল্ডে একটি অবজেক্ট রিটার্ন হয় যাতেNameকীতে সব নামের অ্যারে থাকে
এটি নেস্টেড অ্যারে ডেটা থেকে দ্রুত ইউনিক মান বা গ্রুপিং পাওয়ার সহজ পদ্ধতি।