我是mongodb数据库的新手。我创建一个应用程序,其中数据存储为json文件。
我想要做的是将数据导入mongodb,然后在命令提示符下显示它。
我已经尝试过以下命令,但错误显示Failure parsing josn near: }
我的命令是:
mongoimport -d mydb -c mydb --type json --file glossary.json --headerline
我把json文件放在c:\ mongodb \ bin \ glossary.json中 我推荐。
{
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "markup"
}
}
}
}
}
答案 0 :(得分:26)
您的JSON似乎只有一个对象。预期格式为{..},{..}
。
因此,请使用--jsonArray
选项:
mongoimport -d mydb -c mycollection --jsonArray < glossary.json
另一种选择是将源文档格式化为mongodb期望的格式。这将使加载速度更快。
答案 1 :(得分:4)
如果你有一个大集合,--jsonArray
需要很长时间才能导入。我得到大约10个文件/秒。如果您的文件格式正确.json
,则可以使用--file
代替。我现在得到大约6000份文件/秒。
好事我没有满足于第一个选择!