2013-06-02 3 views
1

Я хочу отправить одно заданное поле в файл. Скажем, у меня есть пользователи коллекции с именем, адресом электронной почты и ид, но я только хочу, чтобы распечатать все содержимое поля URL, как это заявление в mongod:Экспортировать указанное поле коллекции в mongodb/mongodump в файл

db.users.find({}, {"email": 1}); 

Теперь я попытался mongodump с опцией запроса, но это не сработало:

mongodump --db 'mydb' --collection 'users' --query '{}, {"email" : 1}' 

В принципе, я просто хочу, чтобы содержимое поля было в читаемом файле. Есть ли способ сделать это на командной строке без скрипта?

Редактировать: Я нашел решение самостоятельно. Мне нужен «mongoexport», у которого есть опция полей.

ответ

1

mongodump не даст вам читаемый файл, это формат bson. Вы хотите mongoexport:

mongoexport -d mydb -c users -f email --csv -o outputFile 
+0

Спасибо! Я тоже нашел его, кроме того, мне нужно было «--csv» - без него вы автоматически получаете все _ids. –

+0

На самом деле я уже добавил его в быстрый ответ на мой ответ, прежде чем вы его прокомментировали :) –

+0

Hi Asya, а как насчет mongodump? Как я могу указать определенные поля в mongodump? Я использую файлы bson в своем улье через mongo-hadoop, поэтому мне было интересно, могу ли я выбрать некоторые поля, чтобы уменьшить размер bson. tnx – Maziyar

Смежные вопросы