Это проблема, с которой я столкнулся при работе с гео Json данными. Я хотел бы заранее поблагодарить, если кто-то может указать решение для меня.
** Схема ** Добавлена 2dsphere как индекс внутри координат, но все еще не работает
const polygonSchema = new mongoose.Schema({
type:String,
properties: {
REGTYPE_ID: Number,
REGTYPE: String,
NAVWAT_ID: Number,
Shape_Leng: Number,
Shape_Area: Number
},
geometry: {
coordinates: {
type: [Number],
index: '2dsphere',
required: true
},
type: {
enum: ["Polygon"]
}
}
});
polygonSchema.index({ geometry: '2dsphere' }, { background: false })
const Polygon = mongoose.model("Polygon", polygonSchema);
exports.polygonSchema = polygonSchema;
exports.Polygon = Polygon;
Маршрут Может ли какой-то обзор корректен приведенный ниже запрос?
// console.log(req.query);
try {
Polygon.aggregate([
{
$geoNear: {
near: {
type: "Feature",
// geometry: {
coordinates: [
parseFloat(req.query.lng),
parseFloat(req.query.lat)
]
// }
},
distanceField: "geometry.distance",
maxDistance: 10000,
spherical: true
}
}
]).then(function(Locs) {
res.send(Locs);
});
} catch (ex) {
console.log(ex);
}
});```
***Error Stack Trace*** the stack trace shows that a geoNear requireees 2d or 2dsphere but i even done it in my model
```(node:4928) UnhandledPromiseRejectionWarning: MongoError: $geoNear requires a 2d or 2dsphere index, but none were found```