2011-09-22 8 views
32

mongoexport -h db.mysite.com -u myUser -p myPass -c myCollection¿Qué significa "demasiadas opciones posicionales" cuando se hace una mongoexportación?

Pero la respuesta que obtengo es:

ERROR: too many positional options

Qué es eso?

+0

¿Qué está haciendo el '' allí? – dcrosta

+0

Tengo el mismo problema> mongoexport --host Remote --port 27017 --collection Event --db mana --fields userName --query {"_class": "blaablaEvent", "rewardStatus": "NEW"} - out.csv – Hamedz

+0

En general, es un error de análisis (algo de espacio extra o algo así), una vez trate de "escribir" el comando nuevamente en lugar de copiarlo de alguna parte. – Khatri

Respuesta

15

Tuve el mismo problema. Encontré una publicación de grupo en alguna parte que decía eliminar el espacio entre la '-p' y la contraseña, lo que funcionó para mí.

Su comando de la muestra debe ser:

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

Esto también funciona para mongodump – trcarden

+1

Además, tenga cuidado con la opción -f. Sus campos no deben estar espaciados entre comas – babonk

+0

Súper raro. La misma versión de mongodump (2.6.11) en macOS vs Ubuntu, la versión de macOS funciona con un espacio, la versión de Ubuntu no. – DanielSmedegaardBuus

10

El mismo error que he encontrado al importar un archivo CSV. Pero es justo, el hecho de que la lista de campos que pasa para la importación de ese archivo csv puede tener espacios en blanco. Simplemente borre los espacios en blanco en la lista de campos.

Es el error de análisis.

+0

Sí, eso es todo ... publicado la exportación en sublime, limpiado, funcionó para mí. Gracias - – chuckjones242

34

Tuve este mismo problema. En mi caso, yo estaba usando mongoexport con la opción --query, que espera un documento JSON, tales como:

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

que tenía que rodear el documento con citas:

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

Algunos sistemas operativos funcionan de forma ligeramente diferente. La solución anterior funcionó para mí en Windows, pero para un colega (Mac) tuvo que poner las comillas simples (') en el exterior y las comillas dobles (") en el interior. Ganar: mongoexport ... --query" {field: 'value'} "... Mac: mongoexport ... --query '{field:" value "}' ... –

4

que tenía el mismo problema con la utilidad mongoexport (usando 2.0.2). Mi solución fue usar el nombre del parámetro COMPLETO (es decir, no -d, en su lugar use --db).

7

Tuve el mismo problema con mongodump. Después de buscar un poco, descubrí que usar el parámetro --out para especificar el directorio de salida resolvería este problema. La sintaxis para utilizar el parámetro de salida es

mongoexport --collection collection --out collection.json 

También en el caso de la instancia MongoDB no se está ejecutando, entonces se podría utilizar el --dbpath para especificar la ruta exacta de los archivos de la instancia.

Fuente: http://docs.mongodb.org/manual/core/import-export/

2

veces editor puede meter la pata (como Evernote). Solucioné el problema volviendo a escribir el comando en la terminal.

+0

Evernote cambió el '--query' a un '-query' y eso atornillado el chucho para mí – cpres

0

Tuve el mismo problema al iniciar mongod. Utilicé el siguiente comando:

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

El siguiente mensaje de error apareció:

error de línea de comandos de análisis: demasiado se han especificado muchas opciones de posición en la línea de comando

Lo que solucionó este problema fue eliminar el espacio único entre '-' y 'dbpath'

Cuestiones relacionadas