Definición
db.getCollectionNames()Devuelve un arreglo que contiene los nombres de todas las colecciones y vistas en la base de datos actual, o si se ejecuta con control de acceso, los nombres de las colecciones de acuerdo con el privilegio del usuario. Para más detalles, consulta Acceso requerido.
Compatibilidad
Este método está disponible en implementaciones alojadas en los siguientes entornos:
MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube
Nota
Este comando es compatible con todos los clústeres de MongoDB Atlas. Para obtener información sobre el soporte de Atlas para todos los comandos, consulte Comandos no compatibles.
MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB
MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.
Acceso requerido
El es equivalente db.getCollectionNames() a:
db.runCommand( { listCollections: 1.0, authorizedCollections: true, nameOnly: true } )
Para los usuarios con los privilegios requeridos (privilegios que otorgan acción
listCollectionsen la base de datos), el método lista los nombres de todas las colecciones de la base de datos.Para los usuarios sin el acceso requerido, el método solo muestra las colecciones para las cuales los usuarios tienen privilegios. Por ejemplo, si un usuario tiene
finden una colección específica en una base de datos, el método sólo devolvería esa colección.
Comportamiento
Desconexión del cliente
Si el cliente que emitió db.getCollectionNames() se desconecta antes de que la operación se complete, MongoDB marca db.getCollectionNames() para su terminación usando killOp.
Restricción del estado del set de réplicas
Para que se ejecuten en un set de réplicas, las operaciones de listCollections requieren que el nodo esté en estado PRIMARY o SECONDARY. Si el nodo se encuentra en otro estado, como STARTUP2, se produce un error en la operación.
Ejemplo
Lo siguiente devuelve los nombres de todas las colecciones en la base de datos records:
use records db.getCollectionNames()
El método devuelve los nombres de las colecciones en una matriz:
[ "employees", "products", "mylogs", "system.indexes" ]