2011-09-22 9 views
32

mongoexport -h db.mysite.com -u myUser -p myPass -c myCollectionCo oznacza "zbyt wiele opcji pozycyjnych" podczas wykonywania mongoeksportu?

Ale reakcja pojawia się:

ERROR: too many positional options

co chodzi?

+0

Co to jest ""? – dcrosta

+0

Mam ten sam problem> mongoexport --host Zdalny --port 27017 - kolekcja Zdarzenie --db mana --fields nazwa_użytkownika --query {"_class": "blaablaEvent", "rewardStatus": "NEW"} - out out.csv – Hamedz

+0

Generalnie jest to błąd parsowania (trochę dodatkowego miejsca lub coś podobnego), gdy spróbujesz "wpisać" komendę ponownie, zamiast skopiuj ją gdzieś. – Khatri

Odpowiedz

15

Miałem ten sam problem. Znalazłem post gdzieś w grupie, który powiedział, że usunięto przestrzeń między "-p" a hasłem, które zadziałało dla mnie.

Twój przykładowe polecenie powinno być:

mongoexport -h db.mysite.com -u myUser -pmyPass -c myCollection 
+1

To również działa dla mongodump – trcarden

+1

Dodatkowo, uważaj na spacje z opcją -f. Twoje pola nie powinny być puste między przecinkami – babonk

+0

Super dziwne. Ta sama wersja mongodump (2.6.11) na MacOS vs Ubuntu, wersja dla MacOS działa z przestrzenią, wersja Ubuntu tego nie robi. – DanielSmedegaardBuus

10

Ten sam błąd ja spotkałem podczas importowania pliku csv. Ale to po prostu fakt, że lista pól, które przekazujesz do importu pliku csv, może zawierać puste spacje. Po prostu wyczyść puste pola na liście pól.

Jest to błąd parsowania.

+0

Tak, to jest to .... opublikowali eksport do wysublimowanych, oczyszczonych, to działało dla mnie. Dzięki - – chuckjones242

34

Miałem ten sam problem. W moim przypadku było stosując mongoexport z opcją --query, która oczekuje dokumentu JSON, takich jak:

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

Potrzebowałam otoczyć dokument z cytatami:

mongoexport ... --query "{field: 'value'}" ... 
+4

Niektóre systemy operacyjne działają nieco inaczej. Powyższe rozwiązanie działało dla mnie w systemie Windows, ale dla współpracownika (Mac) musiał wstawić pojedyncze cytaty (") na zewnątrz i podwójne cudzysłowy (") w środku Wygrana: mongoexport ... --query " {field: 'value'} "... Mac: mongoexport ... --query '{field:" value "}' ... –

4

miałem ten sam problem z narzędziem mongoexport (przy użyciu wersji 2.0.2). Moja poprawka polegała na użyciu nazwy parametru FULL (tj. Nie -d, zamiast tego użyj opcji --db).

7

Miałem ten sam problem z mongodump. Po krótkim przeszukaniu odkryłem, że użycie parametru --out w celu określenia katalogu wyjściowego rozwiązałoby ten problem. Składnia pomocą parametru OUT

mongoexport --collection collection --out collection.json 

Również w przypadku, gdy instancja MongoDB nie jest uruchomiony, a następnie można użyć --dbpath określić dokładną ścieżkę do plików instancji.

Źródło: http://docs.mongodb.org/manual/core/import-export/

2

Czasem redaktor będzie przykręcić (takich jak Evernote). Naprawiłem problem, przepisując polecenie w terminalu.

+0

Evernote zmienił" --query "na" -query "i Przykro mi – cpres

0

Miałem ten sam problem z uruchomieniem mongody. Użyłem następującego polecenia:

./mongod --port 27001 --replSet abc - dbpath /Users/seanfoley/Downloads/mongodb-osx-x86_64-3.4.3/bin/1 --logpath/Users/seanfoley/Downloads/MongoDB-osx-x86_64-3.4.3/log.1 --logappend --oplogSize 5 --smallfiles --fork

następujący komunikat o błędzie pojawił:

błąd analizy wiersza polecenia: zbyt w wierszu polecenia podano wiele opcji pozycyjnych:

Rozwiązano problem polegający na usunięciu pojedynczej przestrzeni między znakami "-" i "dbpath"