Javascript 从数组中检索值,并使用MongoDB将其存储在csv文件中
这是输入json文件。Javascript代码编写为使用MongoDB进行迭代Javascript 从数组中检索值,并使用MongoDB将其存储在csv文件中,javascript,mongodb,csv,Javascript,Mongodb,Csv,这是输入json文件。Javascript代码编写为使用MongoDB进行迭代 { "Includes": { "Employees": { "14": { "name": "john", "age": 12, "activity": { "Count": 3502, "RatingValue": 5 } }, "17": { "
{
"Includes": {
"Employees": {
"14": {
"name": "john",
"age": 12,
"activity": {
"Count": 3502,
"RatingValue": 5
}
},
"17": {
"name": "smith",
"age": 23,
"activity": {
"Count": 232,
"RatingValue": 5
}
}
}
}
}
Javascript函数
var result = [];
db.details.find().forEach(function(doc) {
var Employees = doc.Includes.Employees;
if (Employees) {
for (var key in Employees) {
var Employee = Employees[key];
var item = [];
item.push(key);
item.push(Employee.name);
item.push(Employee.age);
item.push(Employee.activity.Count);
item.push(Employee.activity.RatingValue);
result.push(item.join(","));
}
}
});
print(result);
我希望输出以3行5列的形式写入csv文件,每列包含此模式中的一个值
Id名称年龄计数比率值
14约翰年龄3502 5
17史密斯23 232 5更改最终的
打印(结果)代码>到以下位置:
print("Id,name,age,count,RatingValue");
print(result.join("\n"));
注意:第一行仅用于列标题;第二行在单独的行上打印每个员工的结果
然后调用脚本并将输出定向到CSV文件,如下所示:
mongo --quiet "full-path-to-script.js" > "full-path-to-output.csv"
注意:--quiet
arg禁止标准Mongo头输出(shell版本和初始数据库)
我创建了一个详细信息集合,并将您的JSON文档添加到其中,然后运行修改后的脚本生成以下CSV文件内容:
Id,name,age,count,RatingValue
14,john,12,3502,5
17,smith,23,232,5