mongodb csv import mongoimport

mongodb - mongoimport csv



Cómo usar mongoimport para importar csv (13)

Intentando importar un archivo CSV con información de contacto:

Name,Address,City,State,ZIP Jane Doe,123 Main St,Whereverville,CA,90210 John Doe,555 Broadway Ave,New York,NY,10010

Ejecutar esto no parece agregar ningún documento a la base de datos:

$ mongoimport -d mydb -c things --type csv --file locations.csv --headerline

Trace dice que imported 1 objects , pero al encender el shell de Mongo y ejecutar db.things.find() no aparece ningún documento nuevo.

¿Qué me estoy perdiendo?


mongoimport -d test -c test --type csv --file SampleCSVFile_119kb.csv --headerline

verificar datos de recolección: -

var collections = db.getCollectionNames(); for(var i = 0; i< collections.length; i++) { print(''Collection: '' + collections[i]); // print the name of each collection db.getCollection(collections[i]).find().forEach(printjson); //and then print the json of each of its elements }


C: / wamp / mongodb / bin> mongoexport --db proj_mmm - ofertas de colección --csv --fieldFile offerings_fields.txt --out offerings.csv


Compruebe que tiene una línea en blanco al final del archivo; de lo contrario, la última línea se ignorará en algunas versiones de mongoimport


Estaba perplejo con un problema similar en el que mongoimport no me daba un error pero informaba que importaba 0 registros. Había guardado mi archivo que no funcionaba usando la versión de OSX Excel para Mac 2011 usando el predeterminado "Guardar como ..." "xls como csv" sin especificar específicamente el formato "Windows Comma Separated (.csv)". Después de investigar este sitio y probar el formato "Guardar como nuevo usando Windows Comma Separated (.csv)", mongoimport funcionó bien. Creo que mongoimport espera un carácter de nueva línea en cada línea y la exportación por defecto de Mac Excel 2011 csv no proporcionaba personaje al final de cada línea.


Las respuestas de Robert Stewart son geniales.

Me gustaría añadir que también puede escribir sus campos con --columHaveTypes y --campos como este:

mongoimport -d myDb -c myCollection --type csv --file myCsv.csv --columnsHaveTypes --fields "label.string(),code.string(),aBoolean.boolean()"

(Ten cuidado de no tener espacio después de la coma entre tus campos)

Para otros tipos, consulte el documento aquí: https://docs.mongodb.com/manual/reference/program/mongoimport/#cmdoption-mongoimport-columnshavetypes


Lo uso en el shell mongoimport

mongoimport --db db_name --collection collection_name --type csv --file C://Your_file_path/target_file.csv --headerline

tipo puede elegir csv / tsv / json Pero solo csv / tsv puede usar --headerline

Puedes leer más en el documento oficial .


Necesitamos ejecutar el siguiente comando:

mongoimport --host=127.0.0.1 -d database_name -c collection_name --type csv --file csv_location --headerline

-d es el nombre de la base de datos

-c es el nombre de la colección

--headerline Si usa --type csv o --type tsv, utiliza la primera línea como nombres de campo. De lo contrario, mongoimport importará la primera línea como un documento distinto.

Para más información: mongoimport


Primero deberías salir del shell mongo y luego ejecutar el comando mongoimport esta manera:

Manojs-MacBook-Air:bin Aditya$ mongoimport -d marketdata -c minibars --type csv --headerline --file ''/Users/Aditya/Downloads/mstf.csv'' 2017-05-13T20:00:41.989+0800 connected to: localhost 2017-05-13T20:00:44.123+0800 imported 97609 documents Manojs-MacBook-Air:bin Aditya$


Robert Stewart ya ha respondido sobre cómo importar con mongoimport.

Estoy sugiriendo una manera fácil de importar CSV elegantemente con 3T MongoChef Tool (versión 3.2+). Podría ayudar a alguien en el futuro.

  1. Solo necesitas seleccionar la colección
  2. Seleccionar archivo para importar
  3. También puede deseleccionar los datos que se van a importar. También muchas opciones están ahí.
  4. Colección importada

Vea cómo importar video


Solo use esto después de ejecutar mongoimport

Devolverá la cantidad de objetos importados

use db db.collectionname.find().count()

devolverá la cantidad de objetos.


Tu ejemplo funcionó para mí con MongoDB 1.6.3 y 1.7.3. El siguiente ejemplo fue para 1.7.3. ¿Estás usando una versión anterior de MongoDB?

$ cat > locations.csv Name,Address,City,State,ZIP Jane Doe,123 Main St,Whereverville,CA,90210 John Doe,555 Broadway Ave,New York,NY,10010 ctrl-d $ mongoimport -d mydb -c things --type csv --file locations.csv --headerline connected to: 127.0.0.1 imported 3 objects $ mongo MongoDB shell version: 1.7.3 connecting to: test > use mydb switched to db mydb > db.things.find() { "_id" : ObjectId("4d32a36ed63d057130c08fca"), "Name" : "Jane Doe", "Address" : "123 Main St", "City" : "Whereverville", "State" : "CA", "ZIP" : 90210 } { "_id" : ObjectId("4d32a36ed63d057130c08fcb"), "Name" : "John Doe", "Address" : "555 Broadway Ave", "City" : "New York", "State" : "NY", "ZIP" : 10010 }


lo más probable es que necesite autenticarse si trabaja en entornos de producción. Puede usar algo como esto para autenticarse contra la base de datos correcta con las credenciales apropiadas.

mongoimport -d db_name -c collection_name --type csv --file filename.csv --headerline --host hostname:portnumber --authenticationDatabase admin --username ''iamauser'' --password ''pwd123''


utilizar :

mongoimport -d ''database_name'' -c ''collection_name'' --type csv --headerline --file filepath/file_name.csv