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.
db
menunjukkan database saat ini test
tetapi ini tidak terdaftar melalui salah satu comnmand pada halaman ini yang dijelaskan di sini stackoverflow.com/q/38726310/73226
mongo
pada baris perintah ( mongo --nodb
untuk tidak terhubung ke database)
show dbs
karena saya ketika saya pergi ke docs saya tidak bisa menemukan show dbs
perintah 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 dbs
di konsol mongo, silakan bukauseful links
bagian di wiki tag mongodb , sebelum mengirim pertanyaan, terkadang dapat membantu Anda mencapai solusi lebih cepat.