使用MongoDB将嵌套json数组值打印到csv中
我想将嵌套的json数组输出到csv中 sample.json使用MongoDB将嵌套json数组值打印到csv中,mongodb,Mongodb,我想将嵌套的json数组输出到csv中 sample.json { "DocId":"ABC", "User":[ { "Id":1234, "Username":"sam1234", "Name":"Sam", "ShippingAddress":{ "Address1":"123 Main St.", "Address2":null,
{
"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用户名发货地址
1234 sam1234 Sam 123北卡罗来纳州达勒姆大街
5678 sam5678 sam5678北卡罗来纳州达勒姆大街
如何在csv中打印带标题和不带标题一种方法是分两步进行
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
在上述输出中,可以只打印csv文件中的数据,即不打印标题。