MongoDB सभी संग्रहों से सभी सामग्री दिखाएं


161

क्या MongoDB में सभी संग्रह और इसकी सामग्री दिखाना संभव है?

क्या एक-एक करके दिखाने का एकमात्र तरीका है?

जवाबों:


261

एक बार जब आप टर्मिनल / कमांड लाइन में होते हैं, तो डेटाबेस / संग्रह का उपयोग करें जिसे आप निम्नानुसार उपयोग करना चाहते हैं:

show dbs
use <db name>
show collections

अपना संग्रह चुनें और उस संग्रह की सभी सामग्री देखने के लिए निम्नलिखित टाइप करें:

db.collectionName.find()

MongoDB त्वरित संदर्भ गाइड के बारे में अधिक जानकारी यहाँ ।


कृपया इसे सही उत्तर बताएं। आप केवल कोड लिखकर सभी संग्रहों से सभी सामग्री देख सकते हैं,
क्‍ली के

18
यदि आपको अपने सामने प्रस्तुत संग्रह को स्पष्ट रूप से देखने की आवश्यकता है, तो मैं यह भी सलाह देता हूं: db.collectionName.find().pretty()
स्टीवन वेंटिमिग्लिया

2
ध्यान रखें कि संग्रह नाम में कुछ अक्षर (जैसे एक हाइफ़न) होने पर यह काम नहीं करता है। उस स्थिति में उपयोग करेंdb["collection-name"].find()
बॉसन

126

चरण 1: अपने सभी डेटाबेस देखें:

show dbs

चरण 2: डेटाबेस का चयन करें

use your_database_name

चरण 3: संग्रह दिखाएं

show collections

यह आपके चयनित डेटाबेस के सभी संग्रहों को सूचीबद्ध करेगा।

चरण 4: सभी डेटा देखें

db.collection_name.find() 

या

db.collection_name.find().pretty()

3
मैंने अपने db नाम के साथ db नाम को बदल दिया, जो मुझे गलतियाँ देता रहा। इसलिए मेरे जैसी बेवकूफी मत करो: डी, ​​स्टिक टूdb.<collection_name>.find();
एडाम शम्सुद्दीन

33
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
}

मुझे लगता है कि यह स्क्रिप्ट आपको मिल सकती है। यह प्रत्येक संग्रह के नाम को प्रिंट करता है और फिर इसके तत्वों को json में प्रिंट करता है।


19

चरण 1: MongoDB शेल में दर्ज करें।

मोंगो

चरण 2: प्रदर्शन के लिए सभी डेटाबेस।

शो डीबीएस;

चरण 3: एक चयनित डेटाबेस के लिए:

'डेटाबेस_नाम' का उपयोग करें

चरण 4: अपने डेटाबेस के आंकड़ों के लिए।

db.stats ()

चरण 5: सभी संग्रहों (तालिकाओं) को सूचीबद्ध करना।

संग्रह दिखाएं

चरण 6: डेटा को किसी विशेष संग्रह से प्रिंट करें।

db.'collection_name'.find ()। सुंदर ()


9

प्रश्नों के नीचे लिखने से पहले सबसे पहले अपने cmd या PowerShell में जाएं

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

सभी संग्रह नामों को सूचीबद्ध करने के लिए नीचे दिए विकल्पों में से किसी एक का उपयोग करें: -

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

सूचीबद्ध कोड के नीचे सभी संग्रह सामग्री या डेटा का उपयोग दिखाने के लिए जिसे ब्रूनो_फेरेरा द्वारा पोस्ट किया गया था।

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
}

सबसे अच्छा समाधान, मेरे संग्रह की सामग्री को दर्शाता है!
jjwallace


4

इससे चल जाएगा:

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

2

यदि आप mongoशेल का उपयोग कर रहे हैं तो मैं एक और दृष्टिकोण पसंद करता हूं :

पहले दूसरे उत्तरों के रूप में: use my_database_nameफिर:

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

यह प्रश्न आपको कुछ इस तरह दिखाएगा:

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

db.getCollectionInfos()यदि आपके पास इतना डेटा है तो आप इसके साथ समान दृष्टिकोण का उपयोग कर सकते हैं ।


count()इसके स्थान पर प्रयोग करें find():db.getCollectionNames().map( (name) => ({[name]: db[name].count()}) )
हॉलमैन 30६
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.