的MongoDB - 导入CSV到嵌套文件
问题描述:
我有一个模式,与文档结构是这样的:的MongoDB - 导入CSV到嵌套文件
{ "_id" : ObjectId("4f8dcb06ee21783d7400003c"),
"venue" : ObjectId("4f8dcb06ee21783d7400003b"),
"name" : "Some event",
"webite: "www.whatever.com",
"attendees" : [
{ "_id" : ObjectId("4f8dfb06ee21783d7134503a"), "firstName" : "Joe", "lastName" : "Blogs", "emailAddress" : "[email protected]" },
{ "_id" : ObjectId("4f8dfb06ee21783d7134503b"), "firstName" : "John", "lastName" : "West", "emailAddress" : "[email protected]" }
{ "_id" : ObjectId("4f8dfb06ee21783d7134503c"), "firstName" : "Simon", "lastName" : "Green", "emailAddress" : "[email protected]" }
{ "_id" : ObjectId("4f8dfb06ee21783d7134503d"), "firstName" : "Harry", "lastName" : "Smith", "emailAddress" : "[email protected]" }
],
"eventType" : "Party"
}
我有一个CSV文件,我想导入到与会者集合.. 。
这是可能的使用mongoimport? 我这样说的:Using mongoimport to read CSV into nested structure?,它好像答案可能是不...
由于这是一个时间的操作,我不介意,如果我不得不将其导入“参与者”集合中,然后运行另一个命令以插入到我的文档中的与会者集合中? (目前只有一个事件文档......)
答
你是对的,不幸的是答案是否定的。
Mongoimport是一个非常简单的程序。 (您可以在这里看到:https://github.com/mongodb/mongo/blob/master/src/mongo/tools/import.cpp)对于希望导入比二维字符串和数字表格更复杂的数据的用户,官方建议是编写一个自定义脚本,用于读取输入文件并按照您希望的格式创建文档。希望import.cpp文件会给你一些关于如何开始的想法。
我把它指定为json的文件可能会更好地工作......? – Alex 2012-04-24 14:21:29
如果您可以获取想要以json格式导入的数据,那么导入它可能会更容易。但是,如果您要编写脚本将.csv文档转换为json格式,那么您最好还是让脚本将数据直接导入Mongo! – Marc 2012-04-25 22:10:02
未来可能会添加此功能。查看相关的错误报告[虚线字段名称应该在mongoimport中生成嵌套对象](https://jira.mongodb.org/browse/SERVER-3691) – 2014-01-24 21:49:37