Как импортировать 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 документов в секунду.
Хорошо, что я не согласился на первый вариант!