MongoDB Tampilkan semua konten dari semua koleksi


161

Apakah mungkin untuk menampilkan semua koleksi dan isinya di MongoDB?

Apakah satu-satunya cara untuk menunjukkan satu per satu?

Jawaban:


263

Setelah Anda berada di terminal / baris perintah, akses database / koleksi yang ingin Anda gunakan sebagai berikut:

show dbs
use <db name>
show collections

pilih koleksi Anda dan ketikkan yang berikut untuk melihat semua konten koleksi itu:

db.collectionName.find()

Info lebih lanjut di sini di Panduan Referensi Cepat MongoDB .


Silakan sebutkan ini sebagai jawaban yang benar. Anda hanya dapat melihat SEMUA konten dari SEMUA koleksi dengan menulis kode, tidak
— meminta

19
Jika Anda perlu merapikan koleksi yang disajikan secara visual kepada Anda, saya juga merekomendasikan: db.collectionName.find().pretty()
— Steven Ventimiglia

2
Ingatlah ini tidak berfungsi jika Anda memiliki karakter tertentu (seperti tanda hubung) dalam nama koleksi. Dalam hal ini gunakandb["collection-name"].find()
— Bossan

126

Langkah 1: Lihat semua database Anda:

show dbs

Langkah 2: Pilih database

use your_database_name

Langkah 3: Tampilkan koleksi

show collections

Ini akan mendaftar semua koleksi di database yang Anda pilih.

Langkah 4: Lihat semua data

db.collection_name.find() 

atau

db.collection_name.find().pretty()

3
Saya mengganti nama db dengan nama db saya, yang terus memberi saya kesalahan. Jadi jangan lakukan hal-hal bodoh seperti saya: D, pertahankandb.<collection_name>.find();
— adam shamsudeen

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
}

Saya pikir skrip ini mungkin mendapatkan apa yang Anda inginkan. Ini mencetak nama setiap koleksi dan kemudian mencetak elemen-elemennya di json.


19

langkah 1: Masukkan ke dalam shell MongoDB.

mongo

langkah 2: untuk menampilkan semua database.

tampilkan dbs;

langkah 3: untuk database pilihan:

gunakan 'databases_name'

langkah 4: untuk statistik database Anda.

db.stats ()

langkah 5: daftar semua koleksi (tabel).

tampilkan koleksi

langkah 6: cetak data dari koleksi tertentu.

db.'collection_name'.find (). pretty ()


9

Sebelum menulis pertanyaan di bawah ini, masuklah terlebih dahulu ke cmd atau PowerShell Anda

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

Untuk Daftar Semua Nama Koleksi gunakan salah satu dari opsi di bawah ini: -

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

Untuk menampilkan semua konten koleksi atau data, gunakan kode di bawah ini yang telah diposting oleh 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
}

Solusi terbaik, menunjukkan isi koleksi saya!
— jjwallace


4

Ini akan melakukan:

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

2

Saya lebih suka pendekatan lain jika Anda menggunakan mongoshell:

Pertama sebagai jawaban yang lain: use my_database_namelalu:

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

Kueri ini akan menampilkan sesuatu seperti ini:

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

Anda dapat menggunakan pendekatan serupa dengan db.getCollectionInfos()itu sangat berguna jika Anda memiliki begitu banyak data.


Gunakan count()sebagai ganti find():db.getCollectionNames().map( (name) => ({[name]: db[name].count()}) )
— hallman76
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.