Как экспортировать результаты команды 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", запущенная на localhost, и коллекция под названием "коллекция", она экспортирует все записи в файл с именем test.txt
Если у вас есть более длинный script, который вы хотите выполнить, вы также можете создать файл script.js и просто используйте
mongo 127.0.0.1/db script.js >> test.txt
Я надеюсь, что это поможет
Я не знаю, как это сделать непосредственно из оболочки 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
Пропустив db, который должен быть фактическим db в ответе Peshkira, вот общий синтаксис для одного лайнера в оболочке (при отсутствии пароля):
mongo <host>:<db name> --eval "var x = <db name>.<collection name>.<query>; while(x.hasNext()) { printjson( x.next() ) }" >> out.txt
Я тестировал его как на моем Mac, так и на Google Cloud Ubuntu 15 с помощью Mongo 3 +.
mongoexport --host 127.0.0.1 --port 27017 --username youruser -p yourpass \
-d yourDatabaseName -c collectionName --type csv \
--fields field1,field2 -q '{"field1" : 1495730914381}' \
--out report.csv
попробуйте это - верните файл json с данными запроса, вы можете изменить .json на .txt и другие.
mongoexport --db products --collection clicks --query '{"creationInt": {$ gte: 20190101}, "clientId": "123", "country": "ES"}' --out clicks-2019.json
mongoexport --db db_name --collection имя_собрания --csv --out имя_файла .csv -f поле1, поле2, поле3