Mongoose все още използва командната форма на базата данни „geoNear“. Това се счита за остаряло във всички текущи версии на MongoDB.
Вместо това използвайте стандартната форма за заявка, която е интегрирана със стандартната машина за заявки от MongoDB 2.6 и по-нови версии:
Model.find({
"loc": {
"$near": {
"$geometery": {
"type": "Point",
"coordinates": [ 10,10 ],
},
"$maxDistance": 20
}
}
},function(err,docs) {
// do something here
});
Това е JavaScript, "динамично въведен език". Нямате нужда от тези нелепи помощни функции, които са необходими за strict
типизирани езици без динамични конструкции за дефиниране и обектна структура.
Така че направете това, което ръководството (които всички примери са в JSON нотация, която JavaScript естествено разбира) ви казва да направите и винаги сте добре.