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

MongoDB-তে জাভাস্ক্রিপ্ট দিয়ে অ্যারে অবজেক্টকে কী-ভ্যালু অবজেক্টে রূপান্তর করা

MongoDB শেলে জাভাস্ক্রিপ্ট ব্যবহার করে অ্যারে অফ অবজেক্টকে সিম্পল কী-ভ্যালু অবজেক্টে (Map/Object) রূপান্তর করা যায়। এটি ক্লায়েন্ট-সাইড ট্রান্সফরমেশন, সার্ভার-সাইড অ্যাগ্রিগেশনের বিকল্প হিসেবে কাজ করে।

উদাহরণ: জাভাস্ক্রিপ্ট ভেরিয়েবল হিসেবে ডকুমেন্ট অ্যারে

> var document = [
    { "SubjectName": "MySQL",  "Marks": 78 },
    { "SubjectName": "MongoDB", "Marks": 89 },
    { "SubjectName": "Java",   "Marks": 71 }
];

forEach দিয়ে অবজেক্ট বানানো

> var makeObject = {};
> document.forEach(function(d) {
    makeObject[d.SubjectName] = d.Marks;
});
> printjson(makeObject);

আউটপুট:

{ "MySQL" : 78, "MongoDB" : 89, "Java" : 71 }

অ্যাগ্রিগেশন বিকল্প (সার্ভার-সাইড, MongoDB 4.4+):

db.collection.aggregate([
    { $group: { _id: null, root: { $mergeObjects: { $arrayToObject: { $map: { input: "$$ROOT", as: "el", in: { k: "$$el.SubjectName", v: "$$el.Marks" } } } } } } },
    { $replaceRoot: { newRoot: "$root" } }
]);

জাভাস্ক্রিপ্ট পদ্ধতি শেল-স্ক্রিপ্টিং, দ্রুত টেস্টিং, অথবা অ্যাপ্লিকেশন কোডে ব্যবহারযোগ্য। বড় ডেটাসেটের জন্য অ্যাগ্রিগেশন বা অ্যাপ্লিকেশন লেয়ারে প্রসেস করুন।

  1. MongoDB 4-এ ডকুমেন্ট সর্ট করে শুধু একটি ফিল্ড দেখানো

  2. MongoDB-এ শুধু ইউনিক রেকর্ড দেখানো (ডুপ্লিকেট বাদ দিয়ে)

  3. MongoDB-এ $project দিয়ে অ্যারে থেকে নির্দিষ্ট ফিল্ড দেখানো (অন্যান্য বাদ দিয়ে)

  4. MongoDB-এ নেস্টেড ডকুমেন্ট থেকে শুধু কী (keys) বের করা