query mongodb robo3t

mongodb - query - mongoexport



Cómo exportar json de Mongodb usando robomongo (13)

Usando un script de shell robomongo:

//on the same db var cursor = db.collectionname.find(); while (cursor.hasNext()) { var record = cursor.next(); db.new_collectionname.save(record); }

Usando el comando de exportación e importación de mongodb

Puede agregar el parámetro / --jsonArray a su comando mongoexport , esto exporta el resultado como una sola matriz json.

Luego solo especifique el indicador --jsonArray nuevamente al importar.

O elimine los corchetes iniciales y finales de la matriz [] en el archivo, luego su archivo modificado y exportado se importará con el comando mongoimport sin la bandera --jsonArray .

Más sobre Exportar aquí: https://docs.mongodb.org/manual/reference/program/mongoexport/#cmdoption--jsonArray

Importa aquí: https://docs.mongodb.org/manual/reference/program/mongoimport/#cmdoption--jsonArray

Entonces no sé mucho sobre MongoDB . Tengo RoboMongo con el que me conecto a un MongoDB. Lo que necesito hacer es esto: hay una colección en ese MongoDB. Quiero exportar los datos de esa colección para poder guardarlos en un archivo.

Usé la interfaz para abrir los datos de la colección como texto e hice un CTRL + A y lo pegué en un archivo de texto. Sin embargo, descubrí que no todos los datos se copian y también que había muchos comentarios en los datos de texto que naturalmente rompen el JSON.

Me pregunto si RoboMongo tiene una instalación Export As JSON para poder hacer una exportación limpia.

Cualquier puntero es apreciado!


  1. haz tu búsqueda
  2. resultados de la vista del botón en modo JSON
  3. copiar el resultado a la palabra
  4. imprimir el resultado de word

Ampliando la respuesta de Anish, quería algo que pueda aplicar a cualquier consulta para generar automáticamente todos los campos en lugar de tener que definirlos dentro de la declaración de impresión. Probablemente se pueda simplificar, pero esto fue algo rápido y sucio que funciona muy bien:

var cursor = db.getCollection(''foo'').find({}, {bar: 1, baz: 1, created_at: 1, updated_at: 1}).sort({created_at: -1, updated_at: -1}); while (cursor.hasNext()) { var record = cursor.next(); var output = ""; for (var i in record) { output += record[i] + ","; }; output = output.substring(0, output.length - 1); print(output); }


Existen algunas GUI de MongoDB, algunas de ellas tienen soporte incorporado para la exportación de datos. Encontrará una lista completa de las GUI de MongoDB en http://mongodb-tools.com

Ha preguntado sobre exportar los resultados de su consulta y no sobre exportar colecciones completas. Pruebe 3T MongoChef MongoDB GUI , esta herramienta tiene soporte para su caso de uso específico.


La funcionalidad de shell de Robomongo resolverá el problema. En mi caso, necesitaba un par de columnas como formato CSV.

var cursor = db.getCollection(''Member_details'').find({Category: ''CUST''},{CustomerId :1,Name :1,_id:0}) while (cursor.hasNext()) { var record = cursor.next(); print(record.CustomerID + "," + record.Name) } Output : ------- 334, Harison 433, Rechard 453, Michel 533, Pal



No ejecute este comando en el shell, ingrese este script en el símbolo del sistema con el nombre de su base de datos, el nombre de la colección y el nombre del archivo, todos reemplazando los marcadores de posición.

mongoexport --db (Database name) --collection (Collection Name) --out (File name).json

Esto funciona para mi.


Puede usar tojson para convertir cada registro a JSON en un script de shell MongoDB .

Ejecute este script en RoboMongo:

var cursor = db.getCollection(''foo'').find({}, {}); while(cursor.hasNext()) { print(tojson(cursor.next())) }

Esto imprime todos los resultados como una matriz similar a JSON.

¡El resultado no es realmente JSON! Algunos tipos, como fechas e ID de objetos, se imprimen como llamadas a funciones de JavaScript, por ejemplo, ISODate("2016-03-03T12:15:49.996Z") .

Puede que no sea muy eficiente para grandes conjuntos de resultados, pero puede limitar la consulta. Alternativamente, puede usar mongoexport .


Si desea usar mongoimport , querrá exportar de esta manera:

db.getCollection(''tables'') .find({_id: ''q3hrnnoKu2mnCL7kE''}) .forEach(function(x){printjsononeline(x)});


Solución:

mongoexport --db test --collection traffic --out traffic.json<br><br>

Dónde:
base de datos -> servidor simulado
nombre de la colección -> api_defs
nombre del archivo de salida -> childChoreRequest.json


Tuve este mismo problema, y ​​ejecutar script en robomongo (Robo 3T 1.1.1) tampoco permite copiar valores y tampoco había opción de exportación. La mejor manera de lograr esto es usar mongoexport, si mongodb está instalado en su local, puede usar mongoexport para conectarse a la base de datos en cualquier servidor y extraer datos

Para conectarse a los datos en el servidor remoto y al archivo de salida csv, ejecute el siguiente mongoexport en su línea de comando

mongoexport --host HOSTNAME --port PORT --username USERNAME --password "PASSWORD" --collection COLLECTION_NAME --db DATABASE_NAME --out OUTPUTFILE.csv --type=csv --fieldFile fields.txt

fieldFile: ayuda a extraer las columnas deseadas, por ejemplo: el contenido de fields.txt puede ser solo:

ID de usuario

para extraer solo valores de la columna ''userId''

Datos en el servidor remoto, archivo de salida json:

mongoexport --host HOST_NAME --port PORT --username USERNAME --password "PASSWORD" --collection COLECTION_NAME --db DATABASE_NAME --out OUTPUT.json

esto extrae todos los campos en el archivo json

datos en localhost (mongodb debería ejecutarse en localhost)

mongoexport --db DATABASE_NAME --collection COLLECTION --out OUTPUT.json

Referencia: https://docs.mongodb.com/manual/reference/program/mongoexport/#use


Una manera rápida y sucia: simplemente escriba su consulta como db.getCollection(''collection'').find({}).toArray() y haga clic derecho en Copy JSON . Pegue los datos en el editor de su elección.


dices "exportar a archivo" como en una hoja de cálculo? como un .csv?

OMI, esta es la forma MÁS FÁCIL de hacer esto en Robo 3T (anteriormente robomongo):

  1. En la esquina superior derecha de la interfaz gráfica de usuario de Robo 3T hay un botón "Ver resultados en modo de texto", haga clic en él y copie todo

  2. pegue todo en este sitio web: https://json-csv.com/

  3. haz clic en el botón de descarga y ahora lo tienes en una hoja de cálculo.

Espero que esto ayude a alguien, ya que me gustaría que Robo 3T tuviera capacidades de exportación