sql >> Database >  >> NoSQL >> MongoDB

Mongodb-zoekopdracht met $ dichtbij en coördinaten werken niet

Het lijkt erop dat u de GeoJSON-indeling moet gebruiken als uw gegevens ook in de GeoJSON-indeling zijn, zoals de uwe. Als u gebruikt:

db.collectionname.find({
    "location": {
        $near: {
            $geometry:
                { type: "Point", coordinates: [50.0, -0.1330] }, $maxDistance: 500
        }
    }
})

het zou moeten werken. Ik zou je fout kunnen repliceren met het GeoJSON-opslagformaat voor het veld, maar wat de documenten oude punten in de query-expressie noemen. Ik denk dat de documenten een beetje onduidelijk zijn omdat ze suggereren dat je zowel GeoJSON als legacy-coördinaten kunt gebruiken met een 2dsphere-index 2dsphere

Ik gebruik 2.4.10, voor wat het waard is, want er waren enkele grote ruimtelijke veranderingen in de 2.4-release.



  1. Redis Python - hoe alle sleutels te verwijderen volgens een specifiek patroon in python, zonder python iteratie

  2. PyMongo:hoe aggregaat gebruiken en de resultaten opslaan in een andere verzameling?

  3. velden uitsluiten in $lookup-aggregatie

  4. Hoe dump ik een volledige MongoDB-database als tekst/json?