db.getCollectionNames()
On this page
Definition
db.getCollectionNames()
Returns an array containing the names of all collections and views in the current database, or if running with access control, the names of the collections according to user's privilege. For details, see Required Access.
Required Access
The db.getCollectionNames()
is equivalent to:
db.runCommand( { listCollections: 1.0, authorizedCollections: true, nameOnly: true } )
For users with the required access (privileges that grant
listCollections
action on the database), the method lists the names of all collections for the database.For users without the required access, the method lists only the collections for which the users has privileges. For example, if a user has
find
on a specific collection in a database, the method would return just that collection.
Behavior
Client Disconnection
Starting in MongoDB 4.2, if the client that issued db.getCollectionNames()
disconnects before the operation completes, MongoDB marks db.getCollectionNames()
for termination using killOp
.
Replica Set Member State Restriction
Starting in MongoDB 4.4, to run on a replica set member,
listCollections
operations require the member to be in
PRIMARY
or SECONDARY
state. If the member
is in another state, such as STARTUP2
, the
operation errors.
In previous versions, the operations also run when the member
is in STARTUP2
. The operations wait until the member
transitioned to RECOVERING
.
Example
The following returns the names of all collections in the records
database:
use records db.getCollectionNames()
The method returns the names of the collections in an array:
[ "employees", "products", "mylogs", "system.indexes" ]