我正在使用 Node.js。如何在 Mongoose 架构上为多边形配置 2dsphere 索引?
我试过了:
location_2dsphere: {
type: { type: String }
, coordinates: []
},
但它不起作用!
这就是你的做法
location_2dsphere: {
'type': { type: String },
coordinates: []
}
所以关键是让第一个type
成为'type'
然后记得在你的字段上创建一个2dsphere
索引!
在 Mongoose 中,当您想将字段命名为type
或任何其他保留字段时,只需使用括号强制进行字符串转换。
在顶层:
db.collections.<yourcollection>.createIndex({ <location_field> : "2dsphere" })
在哪里db = mongoose.connection
请注意,在集合本身之前有一个“集合”属性。如果它不起作用,请检查 console.log 中的 db 对象:
console.log(db)