Подтвердить что ты не робот

Как получить команду mongo в плоский файл

Как экспортировать результаты команды MongoDB в плоский файл

Например, если я хочу получить db.collectionname.find() в плоский файл.

Я пробовал db.collectionname.find() >> "test.txt", похоже, не работает.

4b9b3361

Ответ 1

вы можете попробовать следующее из командной строки

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

Я надеюсь, что это поможет

Ответ 2

Я не знаю, как это сделать непосредственно из оболочки mongo, но вы можете получить mongoexport для выполнения запросов и отправки результатов в файл с параметрами -q и -o:

mongoexport -h mongo.dev.priv -d models -c profiles -q '{ $query : { _id : "MRD461000" } }' -o MRD_Series1.json

Вышеупомянутые образы запрашивают коллекцию профилей в базе данных моделей, захватывая документ JSON для _id = "MRD641000". Работает для меня.

Ответ 3

Используйте этот

mongo db_name --username user --password password < query1.js >> result.txt

Ответ 4

Пропустив 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 +.

Ответ 5

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

Ответ 6

попробуйте это - верните файл json с данными запроса, вы можете изменить .json на .txt и другие.

mongoexport --db products --collection clicks --query '{"creationInt": {$ gte: 20190101}, "clientId": "123", "country": "ES"}' --out clicks-2019.json

Ответ 7

mongoexport --db db_name --collection имя_собрания --csv --out имя_файла .csv -f поле1, поле2, поле3