Comment répertorier toutes les collections dans la coquille de mongo?

dans le shell MongoDB, Comment puis-je lister toutes les collections pour la base de données actuelle que j'utilise?

670
demandé sur naXa 2012-01-15 02:52:03

20 réponses

vous pouvez le faire...

JS (shell):

db.getCollectionNames()

nœud.js:

db.listCollections()

non-JS (coque):

show collections

la raison pour laquelle j'appelle ce non-JS est parce que:

$ mongo prodmongo/app --eval "show collections"
MongoDB shell version: 3.2.10
connecting to: prodmongo/app
2016-10-26T19:34:34.886-0400 E QUERY    [thread1] SyntaxError: missing ; before statement @(shell eval):1:5

$ mongo prodmongo/app --eval "db.getCollectionNames()"
MongoDB shell version: 3.2.10
connecting to: prodmongo/app
[
    "Profiles",
    "Unit_Info"
]

si vous voulez vraiment que doux, doux show collections sortie, vous pouvez:

$ mongo prodmongo/app --eval "db.getCollectionNames().join('\n')"
MongoDB shell version: 3.2.10
connecting to: prodmongo/app
Profiles
Unit_Info
1027
répondu AdaTheDev 2016-10-26 23:42:43
> show collections

va lister toutes les collections dans le DB actuellement sélectionné, comme indiqué dans l'aide en ligne de commande ( help ).

396
répondu Cameron 2012-01-14 22:56:24

Comment puis-je énumérer toutes les collections pour la base de données actuelle que j'utilise?

3 méthodes

  • show collections
  • show tables
  • db.getCollectionNames()

la liste De tous bases de données :

show dbs

pour entrer ou utiliser une base de données Donnée:

use databasename

À la liste de tous collections :

show collections

sortie:

collection1  
collection2  
system.indexes

(ou)

show tables

sortie:

collection1  
collection2  
system.indexes

(ou)

db.getCollectionNames()

sortie:

[ "collection1", "collection2", "system.indexes" ]

pour entrer ou utiliser une collection donnée

use collectionname
240
répondu Bharadwaja Bapatla 2016-08-31 13:30:48

> show tables

il donne le même résultat que la réponse de Cameron.

52
répondu Kevin Meredith 2013-10-14 18:20:01

mis à part les options suggérées par d'autres personnes:

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

il y a aussi une autre façon qui peut être très pratique si vous voulez savoir comment chacune des collections a été créée (par exemple, il s'agit d'une collection plafonnée avec une taille particulière)

db.system.namespaces.find()
28
répondu Salvador Dali 2013-10-31 05:22:47

tout d'abord, vous devez utiliser une base de données pour afficher toutes les collections/tables à l'intérieur.

>show dbs
users 0.56787GB
test (empty)
>db.test.help() // this will give you all the function which can be used with this db
>use users
>show tables //will show all the collection in the db
21
répondu Tarun Gupta 2013-11-09 07:54:28

vous pouvez utiliser show tables ou show collections

15
répondu lxg 2015-04-16 08:46:13

, Essayez:

help // To show all help methods
show dbs  // To show all dbs
use dbname  // To select your db
show collections // To show all collections in selected db
13
répondu Indrajeet Singh 2014-05-05 06:39:08

la commande utilisée pour afficher toute la collection dans la base de données mongoDb est

show collections 

avant d'exécuter la commande show collections vous devez sélectionner la base de données

use mydb //mydb is the name of the database being selected

Pour voir toutes les bases de données, vous pouvez utiliser la commande

show dbs // shows all the database names present 

pour plus d'informations visitez ce lien: http://docs.mongodb.org/manual/tutorial/getting-started /

11
répondu kkk 2015-04-04 16:38:39

si vous voulez afficher toutes les collections de l'interpréteur de commandes mongodb (ligne de commande), utilisez l'aide d'interpréteur de commandes

show collections

qui montrent toutes les collections pour la base de données actuelle. Si vous voulez obtenir toute la liste de collecte de votre application, alors vous pouvez utiliser la méthode de base de données mongodb

db.getCollectionNames()

Pour plus d'info mongodb coquille d'assistance que vous pouvez seee http://docs.mongodb.org/manual/reference/mongo-shell/

10
répondu Engr. Hasanuzzaman Sumon 2015-02-12 04:12:38

les commandes suivantes sur mongoshell sont communes

show databases
show collections

Aussi,

show dbs
use mydb
db.getCollectionNames()

il est parfois utile de voir toutes les collections ainsi que les index des collections qui font partie de l'Espace-nom général:

Voici comment vous feriez cela:

 db.getCollectionNames().forEach(function(collection) {
indexes = db[collection].getIndexes();
print("Indexes for " + collection + ":");
printjson(indexes);
});

entre les 3 commandes et ce snippet vous devriez être bien couvert!

9
répondu Sood 2016-01-24 17:05:54

je pense que l'une des plus grandes confusions est la différence entre ce que vous pouvez faire avec mongo (ou un shell interactif/hybride) vs. mongo --eval (ou un shell pur javascript). Je garde ces documents utiles à portée de la main:

Voici un exemple de les scripts de ce que vous pourriez faire avec show les commandes:

# List all databases and the collections in them

mongo --eval "
    db.getMongo().getDBNames().forEach(
        function(v, i){
            print(
                v + '\n\t' +
                db.getSiblingDB(v).getCollectionNames().join('\n\t')
            )
        }
    )
"

Note: cela fonctionne vraiment bien en tant qu'oneliner. (Mais ça a l'air terrible sur StackOverflow.)

mongo --eval "db.getMongo().getDBNames().forEach(function(v, i){print(v+'\n\t'+db.getSiblingDB(v).getCollectionNames().join('\n\t'))})"
3
répondu Bruno Bronosky 2017-01-03 21:04:30

>=2.x, vous pouvez faire

db.listCollections()

sur 1.x vous pouvez faire

db.getCollectionNames()
2
répondu Aniruddh Joshi 2016-01-12 02:30:44

Pour passer à la base de données. par:- utiliser {your_database_name} exemple:

use friends

où friends est le nom de votre base de données.

alors écrivez: -

db.getCollectionNames()
show collections

cela vous donnera le nom des collections.

2
répondu Shashikant Pandit 2017-07-20 12:27:51

afficher les collections

cette commande fonctionne généralement sur le shell mongo une fois que vous êtes passé à la base de données.

1
répondu PHINCY L PIOUS 2016-12-07 11:38:40
> show dbs        
anuradhfirst  0.000GB
local         0.000GB
> use anuradhfirst
switched to db anuradhfirst
> show collections
record
  • connectez-vous avec la base de données mongo en utilisant mongo , cela démarrera la connexion.
  • puis lancez la commande show dbs , cela vous montrera toute la base de données de sortie/disponible.
  • sélectionnez ensuite le database que vous voulez.en haut , il y a anuradhfirst , puis use anuradhfirst .cela va changer à la base de données que vous voulez.
  • puis lancer show collections commande, cela affichera tous les collections à l'intérieur votre base de données sélectionnée.
0
répondu Anuradh S 2016-08-22 05:42:54

pour les déploiements MongoDB 3.0 utilisant le moteur de stockage WiredTiger, si vous exécutez db.getCollectionNames() à partir d'une version du shell mongo Avant 3.0 ou une version du pilote Avant 3.0, db.getCollectionNames() ne retournera aucune donnée, même s'il y a les collections existantes.

pour plus de détails, veuillez vous référer à ce

0
répondu Rahul 2017-03-21 15:27:04

utiliser suivant la commande de Mongo shell :- montrer les collections

0
répondu Anoop Sharma 2018-04-05 07:41:54
 1. show collections; //Display all collection
 2. show tables     //Display all collection
 3. db.getCollectionNames();   // Retuen array of collection Example :[ "orders", "system.profile" ]

informations sur les Détails de chaque collection

db.runCommand( { listCollections: 1.0, authorizedCollections: true, nameOnly: true } )
  • pour les utilisateurs ayant l'accès requis (privilèges qui accordent listCollections action sur la base de données), la méthode liste les noms de toutes les collections pour la base de données.
  • pour les utilisateurs sans l'accès requis, la méthode ne Liste que les collections pour lesquelles les utilisateurs ont des privilèges. Par exemple, si un l'utilisateur a trouver sur une collection spécifique dans une base de données, méthode retournerait juste cette collection.
0
répondu FullStack 2018-08-09 18:29:25

Liste de toutes les collections de la shell mongo :

  • db.getCollectionNames ()
  • afficher les collections
  • show tables

Note: les Collections montreront à partir de la base de données actuelle où vous êtes en actuellement

0
répondu Hasib Kamal 2018-09-22 09:28:42