sql >> Database teknologi >  >> NoSQL >> MongoDB

Tæt på operatør for geojson punkt returnerer fejl, når maxdistance bruges i forespørgsel

Mongoose bruger stadig 'geoNear'-databasekommandoformularen. Dette anses for at være forældet i alle igangværende versioner af MongoDB.

Brug i stedet standardforespørgselsformularen, som er blevet integreret med standardforespørgselsmotoren siden MongoDB 2.6 og nyere versioner:

Model.find({
    "loc": { 
        "$near": {
            "$geometery": {
                "type": "Point",
                "coordinates": [ 10,10 ],
            },
            "$maxDistance": 20
        }
    }
},function(err,docs) {

    // do something here
});

Det er JavaScript, et "dynamisk skrevet sprog". Du behøver ikke disse latterlige funktionshjælpere, som er nødvendige for strict indtastede sprog uden dynamiske konstruktioner til definition og objektstruktur.

Så gør hvad manualen (som alle eksempler er i JSON-notation, som JavaScript naturligt forstår) fortæller dig at gøre, og du har det altid fint.




  1. Mongo-go-driver fejl Ny klient fejl ClientOptions i argument til mongo.NewClient

  2. pymongo.errors.ConnectionFailure:kunne ikke oprette forbindelse til localhost:27017:[Errno 111] Forbindelse afvist

  3. Ikke i stand til at få Yii2-objektdata returneret som Json

  4. Sådan normaliseres virksomhedsnavne