如何将mongodb文档列表转换为表格格式?
例子:
我有以下BsonDocuments列表
[0] = { "_id" : ObjectId("546ce80d43f5c2b7d8a713bd"), "Address" : "61- A, Pocket- C, Ram Vihar Phase II, UP", "Pincode" : 110091, "Locality" : "Mayur Vihar Phase II", "City" : "Delhi", "Latitude" : 28.618156, "Longitude" : 76.3055877 }
[1] = { "_id" : ObjectId("546ce80d43f5c2b7d8a713bd"), "Address" : "61- A, Pocket- C, Phase II, Rahi", "Pincode" : 110091, "Locality" : "Mayur Vihar Phase II", "City" : "Delhi", "Latitude" : 28.618156, "Longitude" : 77.305877 }
[2] = { "_id" : ObjectId("546ce80d43f5c2b7d8a713bd"), "Address" : "6 B2C - C, Krish Marg II, Delhi", "Pincode" : 110092, "Locality" : "Mayur Vihar Phase II", "City" : "Delhi", "Latitude" : 28.618156, "Longitude" : 76.305877 }
我想将此列表转换为表格格式,如json这样
Address:{'61- A, Pocket- C, Ram Vihar Phase II, UP',' '61- A, Pocket- C, Phase II, Rahi ','6 B2C - C, Krish Marg II, Delhi'} ,
Pincode:{'110091','110091','110092'},
...
所有字段都类似。
所以我的问题是:是否有任何库或需要为此编写代码?
您需要编写代码以进行汇总,如下所示:
Group
由_id
等于null
,让所有的记录都在同一组。$push
运算符可以形成一个由Address,Pincode,..元素组成的数组。Project
必填字段,省略该_id
字段。代码:
db.collection.aggregate([
{$group:{"_id":null,"Address":{$push:"$Address"},"Pincode":{$push:"$Pincode"}}},
{$project:{"_id":0,"Address":1,"Pincode":1}}
])
您还可以包括...等其他字段Locality
。
如果要在客户端执行此操作:
var result = {};
db.collection.find().forEach(function(doc){
var keys = Object.keys(doc);
for(var i=0;i<keys.length;i++)
{
if(!result[keys[i]]) result[keys[i]] = [];
result[keys[i]].push(doc[keys[i]]);
}
})
console.log(result);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句