Как импортировать json файл в mongodb?

Я новичок в базе данных mongodb. Я создаю приложение, в котором хранятся данные как json файл. что я хочу сделать, это импортировать данные в mongodb, а затем отобразить их в командной строке. Я уже пробовал следующие команды, но ошибка отображает Failure parsing josn near: } моя команда:

mongoimport -d mydb -c mydb --type json --file glossary.json --headerline

i поставьте 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"
            }
        }
    }
}
}

Ответы

Ответ 1

У вашего JSON, кажется, есть только один объект. Ожидается формат, например {..},{..}.

Итак, используйте опцию --jsonArray:

 mongoimport -d mydb -c mycollection --jsonArray < glossary.json

Другой вариант заключается в форматировании исходного документа, поскольку mongodb ожидает его. Это значительно ускорит загрузку.

Ответ 2

Если у вас большая коллекция, --jsonArray занимает очень много времени для импорта. Я получал около 10 документов в секунду. Если у вас есть правильно отформатированный .json файл, вы можете просто использовать --file. Сейчас я получаю около 6000 документов в секунду.

Хорошо, что я не согласился на первый вариант!