我想将嵌套的json数组输出到csv。
sample.json
{
"DocId":"ABC",
"User":[
{
"Id":1234,
"Username":"sam1234",
"Name":"Sam",
"ShippingAddress":{
"Address1":"123 Main St.",
"Address2":null,
"City":"Durham",
"State":"NC"
}
},
{
"Id":5678,
"Username":"sam5678",
"Name":"Sam",
"ShippingAddress":{
"Address1":"5678 Main St.",
"Address2":null,
"City":"Durham",
"State":"NC"
}
}
]
}
在这里输入代码
以上是示例文件,不得打印DocID,csv中的输出必须仅用于数组内容
Id用户名名称ShippingAddress
1234 sam1234 Sam 123 Main St.Durham NC
5678 sam5678 Sam 5678 Main St.Durham NC
如何使用标题进行打印,以及使用csv中的标题
答案 0 :(得分:2)
一种方法是分两步完成
对于第1步,让我们说我有db - >测试和收集 - >堆栈,所以聚合查询是:
db.stack.aggregate([
{ $unwind:"$User"},
{ $project : { Id : "$User.Id" , Username:"$User.Username", Name:"$User.Name", ShippingAddress:"$User.ShippingAddress", _id:0} },
{ $out: "result" }
])
对于第2步,请使用mongoexport终端实用程序:
mongoexport --db test --collection result --csv --fields "Id,Username,Name,ShippingAddress" --out file.csv