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 Comentarios

  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.

Dejar respuesta

Please enter your comment!
Please enter your name here