mongodb - mayor - ¿Cómo listar todas las colecciones en el shell mongo?
relacionar dos colecciones en mongodb (20)
¿Cómo enumero todas las colecciones para la base de datos actual que estoy usando?
3 metodos
-
show collections
-
show tables
-
db.getCollectionNames()
Para enumerar todas las bases de datos :
show dbs
Para ingresar o usar la base de datos dada:
use databasename
Para enumerar todas las colecciones :
show collections
Salida:
collection1 collection2 system.indexes
(o)
show tables
Salida:
collection1 collection2 system.indexes
(o)
db.getCollectionNames()
Salida:
[ "collection1", "collection2", "system.indexes" ]
Para ingresar o utilizar la colección dada.
use collectionname
En el shell de MongoDB, ¿cómo enumero todas las colecciones para la base de datos actual que estoy usando?
Para las implementaciones de MongoDB 3.0 que utilizan el motor de almacenamiento WiredTiger, si ejecuta
db.getCollectionNames()
desde una versión del shell mongo anterior a la 3.0 o una versión del controlador anterior a la versión compatible con 3.0,db.getCollectionNames()
no devolverá ningún dato, incluso Si hay colecciones existentes.
Para más detalles, consulte this
mostrar colecciones
este comando generalmente funciona en mongo shell una vez que ha cambiado a la base de datos.
Aparte de las opciones sugeridas por otras personas:
show collections //output every collection
show tables
db.getCollectionNames() //shows all collections as a list
También hay otra forma que puede ser realmente útil si desea saber cómo se creó cada una de las colecciones (por ejemplo, es una colección con un límite de un tamaño particular)
db.system.namespaces.find()
Creo que una de las mayores confusiones es la diferencia entre lo que puedes hacer con mongo
(o una shell interactiva / híbrida) versus mongo --eval
(o una shell de javascript puro). Mantengo estos útiles documentos a la mano:
Aquí hay un ejemplo de scripting que podría hacer con los comandos show
:
# 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'')
)
}
)
"
Nota: Eso funciona muy bien como oneliner. (Pero se ve terrible en .)
mongo --eval "db.getMongo().getDBNames().forEach(function(v, i){print(v+''/n/t''+db.getSiblingDB(v).getCollectionNames().join(''/n/t''))})"
El comando utilizado para mostrar toda la colección en la base de datos mongoDb es
show collections
Antes de ejecutar el comando show colecciones debes seleccionar la base de datos
use mydb //mydb is the name of the database being selected
Para ver todas las bases de datos puedes utilizar el comando.
show dbs // shows all the database names present
Para obtener más información, visite este enlace: http://docs.mongodb.org/manual/tutorial/getting-started/
En> = 2.x, puedes hacer
db.listCollections()
En 1.x puedes hacer
db.getCollectionNames()
Los siguientes comandos en mongoshell son comunes
show databases
show collections
También,
show dbs
use mydb
db.getCollectionNames()
A veces es útil ver todas las colecciones, así como los índices de las colecciones que forman parte del espacio de nombres general:
Así es como harías eso:
db.getCollectionNames().forEach(function(collection) {
indexes = db[collection].getIndexes();
print("Indexes for " + collection + ":");
printjson(indexes);
});
¡Entre los 3 comandos y este fragmento debe estar bien cubierto!
Para cambiar a la base de datos. por: use el ejemplo {nombre_de_base_datos} :
use friends
donde amigos es el nombre de tu base de datos.
a continuación, escribir:-
db.getCollectionNames()
show collections
Esto le dará el nombre de las colecciones.
Primero necesitas usar una base de datos para mostrar todas las colecciones / tablas dentro de ella.
>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
Puedes usar show tables
show collections
o show collections
Si desea mostrar todas las colecciones desde el shell mongodb (línea de comando), use el asistente de shell
show collections
que muestran todas las colecciones para la base de datos actual. Si desea obtener toda la lista de recopilación de su aplicación, puede utilizar el método de base de datos mongodb
db.getCollectionNames()
Para obtener más información sobre mongodb shell helper, puede consultar http://docs.mongodb.org/manual/reference/mongo-shell/
Tratar:
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
Tu puedes hacer...
JS (shell):
db.getCollectionNames()
node.js:
db.listCollections()
no JS (solo shell):
show collections
La razón por la que lo llamo non-JS es porque:
$ 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 realmente quieres esa salida de show collections
dulces y dulces, puedes:
$ mongo prodmongo/app --eval "db.getCollectionNames().join(''/n'')"
MongoDB shell version: 3.2.10
connecting to: prodmongo/app
Profiles
Unit_Info
usar el siguiente comando desde el shell mongo: - mostrar colecciones
> show tables
Da el mismo resultado que la respuesta de Cameron.
Listar todas las colecciones de la consola mongo:
- db.getCollectionNames ()
- mostrar colecciones
- mostrar tablas
Nota: Las colecciones mostrarán de la base de datos actual en la que se encuentra actualmente.
1. show collections; //Display all collection
2. show tables //Display all collection
3. db.getCollectionNames(); // Retuen array of collection Example :[ "orders", "system.profile" ]
Información detallada de cada colección.
db.runCommand( { listCollections: 1.0, authorizedCollections: true, nameOnly: true } )
- Para los usuarios con el acceso requerido (privilegios que otorgan acción listCollections en la base de datos), el método enumera los nombres de todas las colecciones para la base de datos.
- Para los usuarios sin el acceso requerido, el método enumera solo las colecciones para las cuales los usuarios tienen privilegios. Por ejemplo, si un usuario ha encontrado una colección específica en una base de datos, el método devolverá solo esa colección.
> show collections
listará todas las colecciones en la base de datos seleccionada actualmente, como se indica en la ayuda de la línea de comandos ( help
).
> show dbs
anuradhfirst 0.000GB
local 0.000GB
> use anuradhfirst
switched to db anuradhfirst
> show collections
record
- conecte con la base de datos mongo usando
mongo
, esto iniciará la conexión. - luego ejecute el comando
show dbs
, esto le mostrará toda la base de datos disponible / disponible. - luego seleccione la
database
que desea. En la parte superior esanuradhfirst
, luego ejecuteuse anuradhfirst
. Esto cambiará a la base de datos que desea. - luego ejecute el comando
show collections
, esto mostrará todas lascollections
dentro de su base de datos seleccionada.