मोंगो शेल में सभी डेटाबेस को कैसे सूचीबद्ध करें?


204

मुझे पता है कि किसी विशेष डेटाबेस में सभी संग्रह को कैसे सूचीबद्ध किया जाए , लेकिन मैं MongoDB शेल में सभी उपलब्ध डेटाबेस को कैसे सूचीबद्ध करूं?


2
यह show dbsमोंगो कंसोल में है, कृपया मोंगॉडब टैग विकीuseful links में सेक्शन के माध्यम से जाएं , प्रश्न पोस्ट करने से पहले, कभी-कभी आपको सॉल्यूशन क्विक तक पहुंचने में मदद मिल सकती है।
रॉबर्ट क्रिस्टोफर

जवाबों:


244

सभी डेटाबेस को mongoDB कंसोल में सूचीबद्ध करना कमांड का उपयोग कर रहा है show dbs

इस बारे में अधिक जानकारी के लिए, मोंगो शेल कमांड हेल्प हेल्पर्स का उपयोग करें, जो मोंगो शेल में उपयोग किए जा सकते हैं।


15
और किसी के लिए (मेरे जैसे) जिसने अभी-अभी मोंगोडब स्थापित किया है और भ्रमित हैं कि dbचालू डेटाबेस दिखाता है, testलेकिन यह इस पृष्ठ पर किसी भी comnmands के माध्यम से सूचीबद्ध नहीं है जिसे यहां समझाया गया है stackoverflow.com/q/38726310/72626
मार्टिन स्मिथ ० Smith

3
धरती पर आप कैसे भी पहुँच सकते हैं:
जेमी हटर

2
@ जैमीहटबर आपको mongoकमांड लाइन पर टाइप करके ( mongo --nodbएक डेटाबेस से कनेक्ट नहीं करने के लिए)
शेल मिलता है

हाँ, मुझे यहाँ कुछ सरल के लिए आना था show dbsक्योंकि जब मैं डॉक्स में गया तो मुझे बस show dbsकहीं भी कमांड नहीं मिली । 'डॉक्स' कई बार बहुत निराशाजनक हो सकता है।
मधुशाला

यह कमांड --evalसिर्फ एक इंटरेक्टिव शेल पर काम नहीं करता है । इस उत्तर के विकल्प काम करते हैं (हालांकि आउटपुट स्वरूप अलग है) stackoverflow.com/a/32192253/1837991
Gert van den Berg

55

MongoDB शेल संस्करण 3.0.5 के लिए शेल में निम्नलिखित कमांड डालें:

db.adminCommand('listDatabases')

या वैकल्पिक रूप से:

db.getMongo().getDBNames()

2
यदि आप अपने खोल में हैं और केवल नाम चाहते हैं: mongo admin --quiet -u <mongodb_admin> -p [<password>] --eval 'db.getMongo().getDBNames().forEach(function(db){print(db)})'hth
Boop

50

डेटाबेस सूची के लिए:

show databases
show dbs

तालिका / संग्रह सूची के लिए:

show collections
show tables
db.getCollectionNames()

31

कमांड लाइन मुद्दे से

mongo --quiet --eval  "printjson(db.adminCommand('listDatabases'))"

जो आउटपुट देता है

{
    "databases" : [
        {
            "name" : "admin",
            "sizeOnDisk" : 978944,
            "empty" : false
        },
        {
            "name" : "local",
            "sizeOnDisk" : 77824,
            "empty" : false
        },
        {
            "name" : "meteor",
            "sizeOnDisk" : 778240,
            "empty" : false
        }
    ],
    "totalSize" : 1835008,
    "ok" : 1
}

2
स्वचालित रूप से कुछ चलाने के लिए यहां सबसे अच्छा समाधान (पहले मोंगो शेल मोड में जाने के बिना)
शुक्राणु

5

शेल पर मोंगोडब डेटाबेस को सूचीबद्ध करने के लिए

 show databases     //Print a list of all available databases.
 show dbs   // Print a list of all databases on the server.

कुछ अधिक बुनियादी आदेश

use <db>    // Switch current database to <db>. The mongo shell variable db is set to the current database.
show collections    //Print a list of all collections for current database.
show users  //Print a list of users for current database.
show roles  //Print a list of all roles, both user-defined and built-in, for the current database.

0

मुझे एक समाधान मिला है, जहां व्यवस्थापक () / अन्य ने काम नहीं किया।

const { promisify } = require('util');
const exec = promisify(require('child_process').exec)
async function test() {
  var res = await exec('mongo  --eval "db.adminCommand( { listDatabases: 1 }         
)" --quiet')
  return { res }
}

test()
  .then(resp => {
    console.log('All dbs', JSON.parse(resp.res.stdout).databases)
  })
test()
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.