Extra index functionality for mongoose
CoffeeScript JavaScript
Switch branches/tags
Nothing to show
Permalink
Failed to load latest commit information.
lib-js
lib
test
.gitignore
.travis.yml
Gruntfile.coffee
LICENSE
README.md
index.js
package.json

README.md

[ARCHIVED] mongoose-any-index

ARCHIVED

This repo is deprecated and we no longer use, support, or recommend it. More context/discussion.

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.

Installation

npm install mongoose-any-index