Checks whether an index exists on a MongoDB collection
npm install does-index-exist --save
var doesIndexExist = require('does-index-exist')
, MongoClient = require('mongodb').MongoClient
, collection = 'collection'
MongoClient.connect('mongodb://localhost:27017/does-index-exist', function (err, db) {
var indexExist = doesIndexExist({ connection: db, collection: collection })
indexExist({ key: { field: 1 } }, function (err, exists) {
console.log('Index does not exist:', exists)
// Create index
db.ensureIndex(collection, { field: 1 }, function () {
indexExist({ key: { field: 1 } }, function (err, exists) {
console.log('Index does exist:', exists)
// Drop index
db.dropIndex(collection, 'field_1', process.exit)
})
})
})
})
Options must include:
connection
- a database connection returned fromMongoClient.connect
collection
- the collection name to check for the index
This returns a function which is called like so:
cb
is the callback for when the query is complete, called withcb(err, exists)
. err is any mongo errors, exists is a boolean