Как экспортировать результаты команды MongoDB в плоский файл
Например, если мне нужно преобразовать db.collectionname.find() в плоский файл.
Я пробовал db.collectionname.find() >> "test.txt", похоже, не работает.
Как экспортировать результаты команды MongoDB в плоский файл
Например, если мне нужно преобразовать db.collectionname.find() в плоский файл.
Я пробовал db.collectionname.find() >> "test.txt", похоже, не работает.
вы можете попробовать следующее из командной строки
mongo 127.0.0.1/db --eval "var c = db.collection.find(); while(c.hasNext()) {printjson(c.next())}" >> test.txt
предполагая, что у вас есть база данных с именем «db», работающая на локальном хосте, и коллекция с именем «коллекция», это экспортирует все записи в файл с именем test.txt.
Если у вас есть более длинный скрипт, который вы хотите выполнить, вы также можете создать файл script.js и просто использовать
mongo 127.0.0.1/db script.js >> test.txt
надеюсь, это поможет
mongoexport --db your-moments --collection profile --out test.txt
- person peshkira; 10.10.2012
mongo blah.mongolab.com:33478/blah -u user -p pass --eval "my query" >> dump.txt, но это дало мне JavaScript execution failed: SyntaxError: Unexpected token ILLEGAL.
- person Sheharyar; 05.12.2013
Я не знаю способа сделать это напрямую из оболочки mongo, но вы можете заставить mongoexport выполнять запросы и отправлять результаты в файл с параметрами -q и -o:
mongoexport -h mongo.dev.priv -d models -c profiles -q '{ $query : { _id : "MRD461000" } }' -o MRD_Series1.json
Приведенные выше обращения запрашивают коллекцию профилей в базе данных моделей, получая документ JSON для _id = "MRD641000". Работает на меня.
Использовать это
mongo db_name --username user --password password < query1.js >> result.txt
Попробуйте так - возвращает json файл с данными запроса, можно поменять .json на .txt и прочее.
mongoexport --db products --collection clicks --query '{"createdInt":{$gte:20190101}, "clientId":"123", "country":"ES"}' --out clicks-2019.json
Пропустив БД, которая должна быть фактической БД в ответе Пешкиры, вот общий синтаксис для одного вкладыша в оболочке (при условии отсутствия пароля):
mongo <host>:<db name> --eval "var x = <db name>.<collection name>.<query>; while(x.hasNext()) { printjson( x.next() ) }" >> out.txt
Я тестировал его как на своем Mac, так и на облаке Google Ubuntu 15 с Mongo 3+.
Установите MongoDB Compass, тогда у него будет инструмент для экспорта результатов запроса в файлы Json/CSV.
mongoexport --db имя_базы_данных --коллекция имя_коллекции --csv --out имя_файла.csv -f поле1, поле2, поле3