MongoDB Show all contents from all collections

前端 未结 8 1770
刺人心
刺人心 2020-12-07 07:45

Is it possible to show all collections and its contents in MongoDB?

Is the only way to show one by one?

相关标签:
8条回答
  • 2020-12-07 08:24

    Before writing below queries first get into your cmd or PowerShell

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

    To List All Collection Names use any one from below options :-

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

    To show all collections content or data use below listed code which had been posted by 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
    }
    
    0 讨论(0)
  • 2020-12-07 08:25

    I prefer another approach if you are using mongo shell:

    First as the another answers: use my_database_name then:

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

    This query will show you something like this:

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

    You can use similar approach with db.getCollectionInfos() it is pretty useful if you have so much data & helpful as well.

    0 讨论(0)
提交回复
热议问题