如何将逗号分隔的JSON文档导入Mongodb?

时间:2017-06-12 06:16:22

标签: mongodb

我的同事给出了几十个JSON文件,它们是逗号分隔的文件,如下所示:

{
    "_id" : ObjectId("566a8d08b9ac7b7dc2ddb90a"),
    "login_ip" : "180.173.143.x",
    "login_time" : NumberLong("1478757697373"),
    "logout_time" : NumberLong("1478757878035"),
    "role" : NumberInt("5"),
    "server_ip" : "115.28.94.x",
    "thirdPartyId" : NumberInt("-1"),
    "ver" : NumberInt("1036")
},
{
    "_id" : ObjectId("566a8d0db9ac7b7dc2ddb90b"),
    "login_ip" : "116.226.162.x",
    "login_time" : NumberLong("1456103011531"),
    "logout_time" : NumberLong("1456111567354"),
    "role" : NumberInt("10002"),
    "server_ip" : "115.28.94.x",
    "thirdPartyId" : NumberInt("6"),
    "ver" : NumberInt("1056")
},
...

我已经尝试使用mongoimport工具将它们导入到我的本地mongodb,但它无法找到第二个文档的起始位置,抱怨这些文件的语法,尽管事实上,第一个文档被解析为数据库。

+ mongoimport.exe --db eques --collection users_2017_04_25 --type json --bypassDocumentValidation --file 'E:\sample\mongdo/users_2017_04_25.json'
2017-06-12T14:01:32.029+0800    connected to: localhost
2017-06-12T14:01:32.040+0800    Failed: error processing document #2: invalid character ',' looking for beginning of value
2017-06-12T14:01:32.040+0800    imported 0 documents

PS:有很多要导入的文件,请不要建议我把它们变成JSON数组。

请帮忙。

1 个答案:

答案 0 :(得分:0)

上面的JSON文档表达在BSON mongoimport工具中,mongoimport工具无法理解。

您应首先以标准JSON格式导出数据(在Mongo世界中,它的调用Strict mode),然后将其提供给{{1}}工具。