Comment répertorier toutes les collections dans la coquille de mongo?
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
> show collections
va lister toutes les collections dans le DB actuellement sélectionné, comme indiqué dans l'aide en ligne de commande ( help
).
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
> show tables
il donne le même résultat que la réponse de Cameron.
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()
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
, 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
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 /
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/
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!
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'))})"
>=2.x, vous pouvez faire
db.listCollections()
sur 1.x vous pouvez faire
db.getCollectionNames()
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.
afficher les collections
cette commande fonctionne généralement sur le shell mongo une fois que vous êtes passé à la base de données.
> 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 aanuradhfirst
, puisuse anuradhfirst
.cela va changer à la base de données que vous voulez. - puis lancer
show collections
commande, cela affichera tous lescollections
à l'intérieur votre base de données sélectionnée.
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
utiliser suivant la commande de Mongo shell :- montrer les collections
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.
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