Trong MongoDB shell, sử dụng JavaScript thuần để biến đổi mảng đối tượng thành object key-value. Tạo mảng dữ liệu:
> var document = [
... { "SubjectName": "MySQL", "Marks": 78 },
... { "SubjectName": "MongoDB", "Marks": 89 },
... { "SubjectName": "Java", "Marks": 71 }
... ];
Hiển thị mảng gốc:
> printjson(document);
[ { "SubjectName" : "MySQL", "Marks" : 78 }, { "SubjectName" : "MongoDB", "Marks" : 89 }, { "SubjectName" : "Java", "Marks" : 71 } ]
Duyệt mảng, xây dựng object: key = SubjectName, value = Marks:
> var makeObject = {};
> document.forEach(function (d){
... makeObject[d.SubjectName] = d.Marks;
... });
> printjson(makeObject);
Kết quả (object key-value):
{ "MySQL" : 78, "MongoDB" : 89, "Java" : 71 }
Ứng dụng thực tế: Kỹ thuật này thường dùng trong MongoDB shell để biến đổi dữ liệu cho báo cáo, hoặc trong aggregation stage $arrayToObject (MongoDB 3.4.4+): {$arrayToObject: { $map: { input: "$document", as: "d", in: { k: "$$d.SubjectName", v: "$$d.Marks" } } }}.