List of indexed field(s) of collection and database in MongoDB


getIndexes() method is responsible for listing indexes of collection. You can find all indexes in the collection using getIndexes() method.

Syntex:


db.CollectionName. getIndexes()


Example: Suppose we have a collection Inventory as like below.


{ "_id" : 1, "item" : "item1", "qty" : 1, "BasePrice" : 300, "Price" : 500 }
{ "_id" : 2, "item" : "item1", "qty" : 2, "BasePrice" : 250, "Price" : 200 }
{ "_id" : 3, "item" : "item1", "qty" : 4, "BasePrice" : 250, "Price" : 300 }
{ "_id" : 4, "item" : "item1", "qty" : 8, "BasePrice" : 600, "Price" : 700 }
{ "_id" : 5, "item" : "item1", "qty" : 2, "BasePrice" : 502, "Price" : 500 }


Now use the following query to create an index on the item.


db.Inventory.createIndex( { item: 1 } )


Result:


{
    "createdCollectionAutomatically" : false,
    "numIndexesBefore" : 1,
    "numIndexesAfter" : 2,
    "ok" : 1.0
}


Now run the following query to get a list of indexes in Inventory collection.


db.Inventory.getIndexes()


Result:


[
    {
        "v" : 1,
        "key" : {
            "_id" : 1
        },
        "name" : "_id_",
        "ns" : "Test.Inventory"
    },
    {
        "v" : 1,
        "key" : {
            "item" : 1.0
        },
        "name" : "item_1",
        "ns" : "Test.Inventory"
    }
]


Find all indexes in the database
You can list all indexes in the database with a collection name using the following query.


db.getCollectionNames().forEach(function(collection) {
   indexes = db[collection].getIndexes();
   print("Indexes for " + collection + ":");
   printjson(indexes);
});



 It will list all indexes in the database with a collection name.

No comments:

Post a Comment

Please do not enter any spam link in the comment box.

NUnit : Introduction

There are several unit test tools in the market, but one of them is NUnit, the most popular tool for doing unit testing. So in this tutorial...