Это моя схема
const UserSchema = new Schema({
name: {
type: String,
required: true
},
email: {
type: String,
required: true
},
password: {
type: String,
required: true
},
skills: [{
type: String
}],
location: {
type: {
type: String,
index: '2dsphere'
},
coordinates: []
}
});
И мой запрос выглядит примерно так
User.find({
location: {
$nearSphere: {
$geometry: {
type: "Point",
coordinates: [77.032448, 28.590654]
},
$maxDistance: 2000
}
}
}).find((error, results) => {
if (error) console.log(error);
console.log(results);
});
Всякий раз, когда я запускаю код, я получаю эту ошибку
ok: 0,
errmsg:
'error processing query: ns=StudyJamm.usersTree: GEONEAR field=location maxdist=2000 isNearSphere=0\nSort: {}\nProj: {}\n planner returned error: unable to find index for $geoNear query',
code: 2,
codeName: 'BadValue',
name: 'MongoError',
[Symbol(mongoErrorContextSymbol)]: {}
PS: - Я уже попробовал User.index({location: "2dsphere"});
Что я здесь не так делаю? Я перебрал все подобные вопросы о переполнении стека, но у меня нет решения.