Saya tahu cara mendaftar semua koleksi dalam database tertentu , tetapi bagaimana cara mendaftar semua database yang tersedia di shell MongoDB?
Saya tahu cara mendaftar semua koleksi dalam database tertentu , tetapi bagaimana cara mendaftar semua database yang tersedia di shell MongoDB?
Jawaban:
Daftar semua database di konsol mongoDB menggunakan perintah show dbs.
Untuk informasi lebih lanjut tentang ini, lihat Pembantu Komando Shell Mongo yang dapat digunakan dalam shell mongo.
dbmenunjukkan database saat ini testtetapi ini tidak terdaftar melalui salah satu comnmand pada halaman ini yang dijelaskan di sini stackoverflow.com/q/38726310/73226
mongopada baris perintah ( mongo --nodbuntuk tidak terhubung ke database)
show dbskarena saya ketika saya pergi ke docs saya tidak bisa menemukan show dbsperintah di mana pun. 'Dokumen' terkadang cukup membuat frustrasi.
--eval, hanya pada shell interaktif. Opsi jawaban ini bekerja (format output berbeda) stackoverflow.com/a/32192253/1837991
Untuk MongoDB shell versi 3.0.5 masukkan perintah berikut ke dalam shell:
db.adminCommand('listDatabases')
atau sebagai alternatif:
db.getMongo().getDBNames()
mongo admin --quiet -u <mongodb_admin> -p [<password>] --eval 'db.getMongo().getDBNames().forEach(function(db){print(db)})'hth
Untuk daftar basis data:
show databases
show dbs
Untuk tabel / daftar koleksi:
show collections
show tables
db.getCollectionNames()
Dari masalah baris perintah
mongo --quiet --eval "printjson(db.adminCommand('listDatabases'))"
yang memberikan hasil
{
"databases" : [
{
"name" : "admin",
"sizeOnDisk" : 978944,
"empty" : false
},
{
"name" : "local",
"sizeOnDisk" : 77824,
"empty" : false
},
{
"name" : "meteor",
"sizeOnDisk" : 778240,
"empty" : false
}
],
"totalSize" : 1835008,
"ok" : 1
}
Untuk daftar basis data mongodb pada shell
show databases //Print a list of all available databases.
show dbs // Print a list of all databases on the server.
Lebih sedikit perintah dasar
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.
Saya telah menemukan satu solusi, di mana admin () / lainnya tidak berfungsi.
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()
show dbsdi konsol mongo, silakan bukauseful linksbagian di wiki tag mongodb , sebelum mengirim pertanyaan, terkadang dapat membantu Anda mencapai solusi lebih cepat.