Mongoose verwendet immer noch das Datenbankbefehlsformular „geoNear“. Dies gilt in allen laufenden Versionen von MongoDB als veraltet.
Verwenden Sie stattdessen das Standard-Abfrageformular, das seit MongoDB 2.6 und höheren Versionen in die Standard-Abfrage-Engine integriert ist:
Model.find({
"loc": {
"$near": {
"$geometery": {
"type": "Point",
"coordinates": [ 10,10 ],
},
"$maxDistance": 20
}
}
},function(err,docs) {
// do something here
});
Es ist JavaScript, eine "dynamisch typisierte Sprache". Sie brauchen diese lächerlichen Funktionshelfer nicht, die für strict
benötigt werden typisierte Sprachen ohne dynamische Konstrukte zur Definition und Objektstruktur.
Tun Sie also, was das Handbuch (alle Beispiele sind in JSON-Notation, die JavaScript nativ versteht) vorschreibt, und alles ist gut.