code: function Index (options) {
    this.fieldName = options.fieldName;
    this.unique = options.unique || false;
    this.sparse = options.sparse || false;
  
    this.treeOptions = { unique: this.unique, compareKeys: model.compareThings, checkValueEquality: checkValueEquality };
  
    this.reset();   // No data in the beginning
  }
docs: Create a new index
  All methods on an index guarantee that either the whole operation was successful and the index changed
  or the operation was unsuccessful and an error is thrown while the index is unchanged
  @param {String} options.fieldName On which field should the index apply (can use dot notation to index on sub fields)
  @param {Boolean} options.unique Optional, enforce a unique constraint (default: false)
  @param {Boolean} options.sparse Optional, allow a sparse index (we can have documents for which fieldName is undefined) (default: false)