MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Near-Operator für geojson-Punkt, der einen Fehler zurückgibt, wenn maxdistance in der Abfrage verwendet wird

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.