Extra index functionality for mongoose

npm install mongoose-any-index
106 downloads in the last day
235 downloads in the last week
819 downloads in the last month


Build Status

Mongoose plugin that adds some additional functionality to mongoose indexes:

  1. Lets you add arbitrary indexes to any path, regardless of whether it's specified in your schema. The typical case is when you want sparse indexes within a Mixed type:

     any_index = require 'mongoose-any-index'
     Awesome = new Schema
       email: { type: String, index: true, unique: true, required: true }
       tags: [{type: String}]
       data: { type: Schema.Types.Mixed }
     Awesome.plugin any_index, [
       { keys: { 'data.nested_field': 1 }, options: { unique: true, sparse: true } }
  2. Adds a Model.fullEnsureIndexes(cb) static method that drops indexes not specified in your schema. This lets you avoid "index bloat", since mongoose's Model.ensuresIndexes(cb) by default does not call dropIndex on pre-existing indexes.


npm install mongoose-any-index
npm loves you