如何在mongodb中导入json文件?

arg*_*lee 21 json mongodb

我是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"
            }
        }
    }
}
}
Run Code Online (Sandbox Code Playgroud)

S.D*_*.D. 27

您的JSON似乎只有一个对象.格式如{..},{..}预期.

所以,使用--jsonArray选项:

 mongoimport -d mydb -c mycollection --jsonArray < glossary.json
Run Code Online (Sandbox Code Playgroud)

另一种选择是将源文档格式化为mongodb期望的格式.这将使加载速度更快.

  • @ user2511142 [open`mongo` shell](http://docs.mongodb.org/manual/tutorial/getting-started/),运行`use mydb`,然后运行`db.mycollection.find().pretty()` . (2认同)

Jas*_*Jas 6

如果您有大量收藏,则--jsonArray需要很长时间才能导入。我每秒收到大约 10 个文件。如果您有格式正确的.json文件,则可以--file改为使用。我现在每秒收到大约 6000 个文件。

好在我没有满足于第一个选项!