Мангуст - как добавить 2dsphere индекс на пользовательский тип?

Я использую Mongoose с Mongoose-geojson-schema, но не могу добавить 2dsphere Индекс на моем поле:

new Schema({
  district: {
    type: String,
    trim: true,
    unique: true,
    required: true
  },
  area: {
    type: GeoJSON.FeatureCollection,
    index: '2dsphere'
  }
});

Получение такой ошибки:

/Users/dmitri/api/node_modules/mongoose/lib/schema.js:479
   throw new TypeError('Undefined type `' + name + '` at `' + path +
      ^
TypeError: Undefined type `2dsphere` at `area.index`
   Did you try nesting Schemas? You can only nest using refs or arrays.

1 ответ

Я думаю, что вы не можете использовать Mongoose-geojson-schema таким образом, он портит атрибуты 'type' - попробуйте это:

var mySchema = new Schema({
    district: {
        type: String,
        trim: true,
        unique: true,
        required: true
    },
    area: GeoJSON.FeatureCollection
 });

 mySchema.path('area').index({ type: '2dsphere'});
Другие вопросы по тегам