2

我在文档中有一个位置数组,我想在该数组上添加一个 2dSpere 索引。那可能吗?

var LocationSchema = new Schema({
  type: { type: String, required: true },
  geometry: {
    type: { type: String, required: true },
    coordinates: { type: Array, required: true}
  },
  properties: Schema.Types.Mixed
});

// Collection to hold users
var UserSchema = new Schema({
    username: { type: String, required: true, unique: true },
    locations: [LocationSchema]
  },{ 
    versionKey: false
  }
);

如何在位置数组的几何字段上添加 2DSphere 索引?

4

2 回答 2

6

https://github.com/LearnBoost/mongoose/blob/master/examples/geospatial/geoJSONSchema.js#L19

LocationSchema.index({ '几何' : '2dsphere' });

于 2013-08-13T20:45:03.237 回答
0

如果您将位置值存储为数组中的 2 个数字,那么您的索引将如下所示:

coordinates: { type: [Number], index: '2dsphere', required: true }

虽然您需要在数据库中创建这样的索引:

db.users.ensureIndex({ 'locations.geometry.coordinates': '2dsphere' });
于 2013-07-22T14:02:51.337 回答