sql >> Databasteknik >  >> NoSQL >> MongoDB

Nära operatör för geojson punkt returnerar fel när maxdistance används i fråga

Mongoose använder fortfarande "geoNear"-databaskommandoformuläret. Detta anses vara föråldrat i alla pågående versioner av MongoDB.

Använd istället standardfrågeformuläret, som har integrerats med standardfrågemotorn sedan MongoDB 2.6 och senare versioner:

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

    // do something here
});

Det är JavaScript, ett "dynamiskt skrivet språk". Du behöver inte dessa löjliga funktionshjälpare som behövs för strict maskinskrivna språk utan dynamiska konstruktioner för definition och objektstruktur.

Så gör vad manualen (som alla exempel är i JSON-notation, som JavaScript förstår) säger åt dig att göra och du är alltid bra.




  1. Planera och hantera scheman i MongoDB (även om det är schemalöst)

  2. Pymongo multiprocessing

  3. hitta i BSON-dokument med MongoDB C++-drivrutinen

  4. hur man kör en skrivskyddad fråga på fragmenterad replikuppsättning i mongodb