Mongodb 从csv导入mongo collection,类似于;分组方式;事先
我想将csv文件导入mongo集合,但是,数据与我希望的不完全一致 我有以下csv文件:(简化) 导入后,我希望导入的集合如下所示:Mongodb 从csv导入mongo collection,类似于;分组方式;事先,mongodb,Mongodb,我想将csv文件导入mongo集合,但是,数据与我希望的不完全一致 我有以下csv文件:(简化) 导入后,我希望导入的集合如下所示: { city_id: 1, city_name: "city1", streets: [ { street_id: 1, street_name: street1
{
city_id: 1,
city_name: "city1",
streets: [
{
street_id: 1,
street_name: street1
},
{
street_id: 2,
street_name: street2
},
{
street_id: 3,
street_name: street3
},
{
street_id: 4,
street_name: street4
},
{
street_id: 5,
street_name: street5
}
]
},
{
city_id: 2,
city_name: "city2",
streets: [
{
street_id: 1,
street_name: street1
},
{
street_id: 2,
street_name: street2
},
{
street_id: 3,
street_name: street3
},
{
street_id: 4,
street_name: street4
},
{
street_id: 5,
street_name: street5
},
{
street_id: 6,
street_name: street6
},
{
street_id: 7,
street_name: street7
}
]
}
这能以相对简单的方式完成吗
谢谢你的帮助
db.city.aggregate([
{$group:{
"_id":{"id":"$city_id","city_name":"$city_name" },
"streets": { $push: { street_id: "$street_id", street_name: "$street_name" } }
}},
{$project:{
"_id":0,
"city_id":"$_id.id",
"city_name":"$_id.city_name",
"streets":1
}},
{$out:"cities"}
])
db.city.aggregate([
{$group:{
"_id":{"id":"$city_id","city_name":"$city_name" },
"streets": { $push: { street_id: "$street_id", street_name: "$street_name" } }
}},
{$project:{
"_id":0,
"city_id":"$_id.id",
"city_name":"$_id.city_name",
"streets":1
}},
{$out:"cities"}
])
令人惊讶的是,它成功了,但是我无法验证它是否100%没有bug,因为收集的文档长度超过45000个:)嗯,仅针对随机样本,如cityID:308374563:-)我不明白为什么我会被否决。然而:/惊奇的是,它成功了,但是,我无法验证它是否100%没有bug,因为收集的文档长度超过45000个:)嗯,仅针对随机样本,如cityID:308374563:-)我不明白为什么我会被否决,但是:/