Docs Menu
Docs Home
/
MongoDB Manual
/ / /

db.collection.getIndexes()

On this page

  • Definition
  • Compatibility
  • Behavior
  • Required Access
  • Output

MongoDB with drivers

This page documents a mongosh method. To see the equivalent method in a MongoDB driver, see the corresponding page for your programming language:

C#Java SyncNode.jsPyMongoCC++GoJava RSKotlin CoroutineKotlin SyncPHPMongoidRustScala
db.collection.getIndexes()

Returns an array that holds a list of documents that identify and describe the existing indexes on the collection, including hidden indexes.

You must call db.collection.getIndexes() on a collection. For example:

db.collection.getIndexes()

Change collection to the name of the collection for which to return index information.

This method is available in deployments hosted in the following environments:

  • MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud

Note

This command is supported in all MongoDB Atlas clusters. For information on Atlas support for all commands, see Unsupported Commands.

getIndexes() does not return information on Atlas Search indexes. For information on Atlas Search indexes, use $listSearchIndexes.

Starting in MongoDB 4.2, if the client that issued db.collection.getIndexes() disconnects before the operation completes, MongoDB marks db.collection.getIndexes() for termination using killOp.

To run on a replica set member, listIndexes operations require the member to be in PRIMARY or SECONDARY state. If the member is in another state, such as STARTUP2, the operation errors.

Starting in MongoDB 6.3, 6.0.5, and 5.0.16, the wildcardProjection field stores the index projection in its submitted form. Earlier versions of the server may have stored the projection in a normalized form.

The server uses the index the same way, but you may notice a difference in the output of the listIndexes and db.collection.getIndexes() commands.

To run db.collection.getIndexes() when access control is enforced, users must have privileges to listIndexes on the collection.

The built-in role read provides the required privileges to run db.collection.getIndexes() for the collections in a database.

db.collection.getIndexes() returns an array of documents that hold index information for the collection. For example:

[
{
"v" : 2,
"key" : {
"_id" : 1
},
"name" : "_id_"
},
{
"v" : 2,
"key" : {
"status" : 1
},
"name" : "status_1"
},
{
"v" : 2,
"key" : {
"points" : 1
},
"name" : "points_1"
}
]

Index information includes the keys and options used to create the index. The index option hidden is only available if the value is true.

For information on the keys and index options, see db.collection.createIndex().

Back

db.collection.findOneAndUpdate