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" } }
]);
জাভাস্ক্রিপ্ট পদ্ধতি শেল-স্ক্রিপ্টিং, দ্রুত টেস্টিং, অথবা অ্যাপ্লিকেশন কোডে ব্যবহারযোগ্য। বড় ডেটাসেটের জন্য অ্যাগ্রিগেশন বা অ্যাপ্লিকেশন লেয়ারে প্রসেস করুন।