Что означает «слишком много позиционных опций» при выполнении монгоэкспорта? - PullRequest
37 голосов
/ 23 сентября 2011

mongoexport -h db.mysite.com -u myUser -p myPass -c myCollection

Но я получаю ответ:

ERROR: too many positional options

О чем это?

Ответы [ 11 ]

38 голосов
/ 08 ноября 2012

У меня была такая же проблема. В моем случае я использовал mongoexport с параметром --query, который ожидает документ JSON, например:

mongoexport ... --query {field: 'value'} ...

Мне нужно было окружить документ кавычками:

mongoexport ... --query "{field: 'value'}" ...
16 голосов
/ 30 сентября 2011

У меня была такая же проблема.Где-то нашел групповой пост, в котором говорилось, что нужно убрать пробел между '-p' и паролем, и это сработало для меня.

Ваша примерная команда должна выглядеть так:

11 голосов
/ 10 ноября 2011

Та же ошибка, с которой я столкнулся при импорте файла CSV.Но это просто, тот факт, что список полей, который вы передаете для импорта этого файла CSV, может иметь пробелы.Просто очистите пустые места в списке полей.

Ошибка разбора.

7 голосов
/ 16 января 2014

У меня была такая же проблема с mongodump. После небольшого поиска я обнаружил, что использование параметра --out для указания выходного каталога решит эту проблему. Синтаксис для использования параметра out:

mongoexport --collection collection --out collection.json

Также, если ваш экземпляр Mongodb не запущен, вы можете использовать --dbpath, чтобы указать точный путь к файлам вашего экземпляра.

Источник: http://docs.mongodb.org/manual/core/import-export/

4 голосов
/ 21 ноября 2012

У меня была такая же проблема с утилитой mongoexport (используется 2.0.2). Мое исправление состояло в том, чтобы использовать полное имя параметра (т.е. не -d, вместо этого использовать --db).

2 голосов
/ 05 января 2016

Иногда редактор облажается (например, evernote). Я исправил проблему, повторно набрав команду в терминале.

1 голос
/ 03 декабря 2018

Это также работает, если вы сначала указали опцию -c. Для меня этот заказ работает:

mongoexport -c collection -h ds111111.mlab.com:11111 -u user -p pass -d mydb

Вы также можете оставить пропуск, и сервер попросит вас ввести пропуск. Это работает, только если сервер поддерживает аутентификацию SASL (например, mlab не поддерживает).

1 голос
/ 22 сентября 2018

Я также застрял в той же ситуации и нашел причину.

  1. Убедитесь, что вы экспортируете в формате CSV, добавив параметр --type csv
  2. Убедитесь, что естьв имени поля нет пробелов, пример: --fields _id, desc неверно, но --fields id,desc,price хорошо
0 голосов
/ 29 ноября 2018

была похожая проблема

$too many positional arguments
$try 'mongorestore --help' for more information

Просто исправить для меня было заключить путь в кавычки ""

Ошибка:

mongorestore -h MY.mlab.com:MYPORT -d MYDBNAME -u ADMIN -p PASSWORD C:\Here\There\And\Back\Again

Это сработало:

mongorestore -h MY.mlab.com:MYPORT -d MYDBNAME -u ADMIN -p PASSWORD "C:\Here\There\And\Back\Again"
0 голосов
/ 17 апреля 2018

Создайте файл json в той же папке, где у вас есть mongod.exe.

, например: coll.json

и откройте командную строку в этой папке.

введите это ниже в CMD.

mongoexport --db имя_базы --collection collectionname --out coll.json

и вы увидите, как индикатор выполнения очень крутойэкспорт всех данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...