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

Mongodb find forespørgsel med $near og koordinater virker ikke

Det ser ud til, at du skal bruge GeoJSON-formatet, hvis dine data også er i GeoJSON-format, som dine er. Hvis du bruger:

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

det burde virke. Jeg kunne replikere din fejl ved at bruge GeoJSON-lagringsformat til feltet, men det, som dokumenterne kalder legacy-punkter i forespørgselsudtrykket. Jeg synes, at dokumenterne er lidt uklare, da de foreslår, at du kan bruge både GeoJSON og ældre koordinater med et 2dsphere-indeks 2dsphere

Jeg bruger 2.4.10, for hvad det er værd, da der var nogle store ændringer til rumlig i 2.4-udgivelsen.



  1. Django kan ikke oprette forbindelse til mongoDB atlas

  2. Mongoose indlejret dokumentopdatering mislykkedes?

  3. Hvordan ændrer jeg en MongoDB-brugers adgangskode?

  4. Lav et script til at oprette MongoDB-samlinger fra Mongo-shell?