2015-06-20 3 views
5

Я просто перешел на новый ноутбук, на котором был mongo 3.0.0. На новом ноутбуке у меня есть mongo 3.0.4. и попытка сценария, работающего на старом ноутбуке, дает мне ошибки. Эта строка дает мне ошибку.mongodb-error validating settings: разрешен только один позиционный аргумент

mongoimport --host localhost \ 
      -db roudy123_q \ 
      -collection LebaneseAmericanUniversity\(Lebanon\).json \ 
      --file LebaneseAmericanUniversity\(Lebanon\).json \ 
      --jsonArray 

Параметры проверки ошибок: допускается только один позиционный аргумент.

Я ошибся в Google, и единственным релевантным результатом был исходный код mongoimport. Поэтому я предполагаю, что это имеет какое-то отношение к новой версии.

ответ

13

Просто дикая догадка ...

... но различные длинные варианты должны быть указаны с помощью --, не -:

mongoimport --host localhost \ 
      --db roudy123_q \ 
      --collection LebaneseAmericanUniversity\(Lebanon\).json \ 
      --file LebaneseAmericanUniversity\(Lebanon\).json \ 
      --jsonArray 

Может быть, эта конкретная версия mongoimport является более щепетильным о том, что , и будет обрабатывать -db ... -collection ... как позиционные аргументы, а не аргументы ключевых слов?

+0

Я не могу поверить, что я потратил несколько часов на этом Ugh. Надеюсь, это спасет чужое время. Спасибо. –

+0

У меня проблема с этим. Но этот синтаксис работал раньше для меня (до этого года). Мой пакетный файл однажды сломался. Спасибо – jsbisht

+0

Это сэкономило мне часы :) – Albeis

0

Если вы получили эту ошибку при вставке полей с полями, вероятной причиной может быть использование пробелов для этого.

Оба -f и --fields должны работать в тех случаях, Использование Монго версии 3.0.6

mongoimport --db logs --collection action_logs --type tsv -f updated_at ,transaction_time ,origin --file parsed.tsv 
mongoimport --db logs --collection action_logs --type tsv -f updated_at,transaction_time,origin --file parsed.tsv 
0

Я думаю, давая белые пробелы в имени файла каталога также будет способствовать этой ошибки.

2

Эта ошибка также может возникать, если белые пробелы заданы без «\» в пути к файлу. Ex: Это не будет работать: Error

Но это будет работать:

works fine