Odpowiedzi:
Gdy jesteś w terminalu / linii poleceń, uzyskaj dostęp do bazy danych / kolekcji, której chcesz użyć, w następujący sposób:
show dbs
use <db name>
show collections
wybierz swoją kolekcję i wpisz następujące informacje, aby zobaczyć całą zawartość tej kolekcji:
db.collectionName.find()
Więcej informacji znajdziesz w Skróconym przewodniku po MongoDB .
db.collectionName.find().pretty()
db["collection-name"].find()
Krok 1: Zobacz wszystkie swoje bazy danych:
show dbs
Krok 2: Wybierz bazę danych
use your_database_name
Krok 3: Pokaż kolekcje
show collections
Spowoduje to wyświetlenie wszystkich kolekcji w wybranej bazie danych.
Krok 4: Zobacz wszystkie dane
db.collection_name.find()
lub
db.collection_name.find().pretty()
db.<collection_name>.find();
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
}
Myślę, że ten skrypt może dostać to, czego chcesz. Drukuje nazwę każdej kolekcji, a następnie drukuje jej elementy w formacie json.
Krok 1: Wejdź do powłoki MongoDB.
mongo
krok 2: do wyświetlenia wszystkich baz danych.
pokaż dbs;
krok 3: dla wybranej bazy danych:
użyj „nazwa_bazy_danych”
krok 4: do statystyk Twojej bazy danych.
db.stats ()
krok 5: wyszczególnienie wszystkich kolekcji (tabel).
pokaż kolekcje
krok 6: wydrukuj dane z określonej kolekcji.
db.'collection_name'.find (). pretty ()
Przed napisaniem poniższych zapytań najpierw przejdź do swojego cmd lub PowerShell
TYPE:
mongo //To get into MongoDB shell
use <Your_dbName> //For Creating or making use of existing db
Aby wyświetlić wszystkie nazwy kolekcji, użyj jednej z poniższych opcji: -
show collections //output every collection
OR
show tables
OR
db.getCollectionNames() //shows all collections as a list
Aby pokazać całą zawartość lub dane kolekcji, użyj poniższego kodu, który został opublikowany przez 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
}
Tą drogą:
db.collection_name.find().toArray().then(...function...)
Wolę inne podejście, jeśli używasz mongo
powłoki:
Najpierw jako inna odpowiedź: use my_database_name
potem:
db.getCollectionNames().map( (name) => ({[name]: db[name].find().toArray().length}) )
To zapytanie pokaże ci coś takiego:
[
{
"agreements" : 60
},
{
"libraries" : 45
},
{
"templates" : 9
},
{
"users" : 18
}
]
Możesz użyć podobnego podejścia, db.getCollectionInfos()
ponieważ jest to całkiem przydatne, jeśli masz tak dużo danych.
count()
zamiast find()
:db.getCollectionNames().map( (name) => ({[name]: db[name].count()}) )