Mongoose,索引位置数组

时间:2013-07-22 13:53:01

标签: node.js mongodb mongoose

我在文档中有一个位置数组,我想在该数组上添加一个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
  }
);

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

2 个答案:

答案 0 :(得分:6)

答案 1 :(得分:0)

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

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

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

db.users.ensureIndex({ 'locations.geometry.coordinates': '2dsphere' });