Чи є спосіб скинути колекцію монго у формат json? Або на оболонці, або за допомогою драйвера Java. Я шукаю той, з найкращими показниками.
Чи є спосіб скинути колекцію монго у формат json? Або на оболонці, або за допомогою драйвера Java. Я шукаю той, з найкращими показниками.
Відповіді:
Mongo включає утиліту mongoexport (див. Документи), яка може скидати колекцію. Ця утиліта використовує нативний libmongoclient і, ймовірно, найшвидший метод.
mongoexport -d <database> -c <collection_name>
Також корисно:
-o
: запишіть вихід у файл, інакше використовується стандартний вихід ( документи )
--jsonArray
: створює дійсний документ json, а не один json об'єкт на рядок ( документи )
--pretty
: виводить формат json ( документи )
--pretty
прапор:mongoexport -d mydatabase -c mycollection --pretty
mongoexport --host mongodb1.example.net --port 37017 --username user --password "pass" --collection contacts --db marketing --out mdb1-examplenet.json
--pretty
, немає версії 2.6.10.
Використовуйте mongoexport / mongoimport для скидання / відновлення колекції:
Експорт файлу JSON :
mongoexport --db <database-name> --collection <collection-name> --out output.json
Імпорт файлу JSON :
mongoimport --db <database-name> --collection <collection-name> --file input.json
ПОПЕРЕДЖЕННЯ
mongoimport
таmongoexport
надійно не зберігайте всі багаті типи даних BSON, оскільки JSON може представляти лише підмножину типів, підтримуваних BSON. В результаті дані, що експортуються чи імпортуються за допомогою цих інструментів, можуть втратити певну міру вірності.
Також http://bsonspec.org/
BSON призначений для швидкого кодування та декодування. Наприклад, цілі числа зберігаються як 32 (або 64) бітові цілі числа, тому їх не потрібно розбирати до тексту та з нього. Це використовує більше місця, ніж JSON, для малих цілих чисел, але набагато швидше аналізувати.
На додаток до компактності, BSON додає додаткові типи даних, недоступні в JSON, зокрема типи даних BinData та Date.
mongoexport
/ mongoimport
туди і назад?
Ось моя команда для довідок:
mongoexport --db AppDB --collection files --pretty --out output.json
У Windows 7 (MongoDB 3.4) потрібно перенести cmd до місця, де знаходиться файл,
mongod.exe
і він не працює, сказавши, що команду не відновлює .mongo.exe
C:\MongoDB\Server\3.4\bin
mongoexport
З документації Монго:
Утиліта mongoexport приймає колекцію та експортує в JSON або CSV. Ви можете вказати фільтр для запиту або список полів для виведення
Детальніше читайте тут: http://www.mongodb.org/display/DOCS/mongoexport
Якщо ви хочете скинути всі колекції, виконайте цю команду:
mongodump -d {DB_NAME} -o /tmp
Він буде генерувати всі колекційні дані у json
та bson
розширеннях у /tmp/{DB_NAME}
каталозі
mongodump
виводить дані у BSON
форматі. Інші відповіді правильно називають mongoexport
правильним інструментом.
mongoexport -d <database> -c <collection_name> --out <xxx.json> --pretty --host <host> --port <port> --username <user> --authenticationDatabase admin
Ви можете вказатиhost
,port
,username
,password
як це і база даних аутентифікації за замовчуваннямadmin
.