MongoDB Mostrar todos los contenidos de todas las colecciones

Es posible mostrar todas las colecciones y de su contenido en MongoDB?

Es la única manera de mostrar uno por uno?

InformationsquelleAutor Reno | 2014-07-27

7 Kommentare

  1. 217

    Una vez que usted está en un terminal o línea de comandos, acceder a la base de datos del/de la colección que desea utilizar de la siguiente manera:

    show dbs
    use <db name>
    show collections

    elegir tu colección y escriba lo siguiente para ver todos los contenidos de la colección:

    db.collectionName.find()

    Más info aquí en el MongoDB Guía De Referencia Rápida.

    • Por favor, este estado como la respuesta correcta. Usted sólo puede ver TODO el contenido de TODAS las colecciones por la escritura de código, no consultar a través de la cli
    • Si usted necesita visualmente adecentar la colección presentada a usted, también recomiendo: db.collectionName.find().pretty()
    • Tenga en cuenta que esto no funciona si usted tiene ciertos caracteres (como un guión) en el nombre de la colección. En ese caso, utilice db["collection-name"].find()
  2. 101

    Paso 1: Ver todas las bases de datos:

    show dbs

    Paso 2: Seleccione la base de datos

    use your_database_name

    Paso 3: Mostrar las colecciones

    show collections

    Esto mostrará una lista de todas las colecciones en su base de datos seleccionada.

    Paso 4: Ver todos los datos

    db.collection_name.find() 

    o

    db.collection_name.find().pretty()
    • ¿Por qué no OP marcado esto como una respuesta todavía?
    • He sustituido db nombre con mi nombre de base, que se mantuvo en darme errores. Así que no hagas cosas estúpidas como yo 😀 , se adhieren a db.<collection_name>.find();
  3. 31
    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
    }

    Creo que este script puede conseguir lo que usted desea. Se imprime el nombre de cada colección y, a continuación, imprime sus elementos en json.

  4. 5

    Antes de escribir debajo de consultas de primera vez al de su cmd o PowerShell

    TYPE:
    mongo             //To get into MongoDB shell
    use <Your_dbName>      //For Creating or making use of existing db

    A la Lista de Todos los Nombres de utilizar cualquiera de la siguientes opciones :-

    show collections  //output every collection
      OR
    show tables
      OR
    db.getCollectionNames() //shows all collections as a list

    Para mostrar todas las colecciones de contenido o el uso de datos se enumeran a continuación el código que había sido publicado por Bruno_Ferreira.

    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
    }
  5. 2

    Esto va a hacer:

    db.getCollectionNames().forEach(c => {
        db[c].find().forEach(d => {
            print(c); 
            printjson(d)
        })
    })
  6. 0

    Prefiero otro enfoque si se utilizan mongo shell:

    Por primera vez como el otro responde: use my_database_name a continuación:

    db.getCollectionNames().map( (name) => ({[name]: db[name].find().toArray().length}) )

    Esta consulta va a mostrar algo como esto:

    [
            {
                    "agreements" : 60
            },
            {
                    "libraries" : 45
            },
            {
                    "templates" : 9
            },
            {
                    "users" : 18
            }
    ]
    

    Puede utilizar enfoque similar con db.getCollectionInfos() es muy útil si usted tiene tal cantidad de datos.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea