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

MongoDB „Index für $geoNear-Abfrage kann nicht gefunden werden“

Wenige Probleme, Sie haben Ihre Indizes auf der foo-Sammlung der foo-Datenbank erstellt, fragen aber die bar-Sammlung ab . Sie müssen sich in der richtigen Sammlung befinden.

Wenn Sie das eingefügte Dokument lesen, müssen Sie einen „2dsphere“-Index hinzufügen, um die geoJson-Objekte zu unterstützen. Dieser Index muss sich auf dem "Punkt"-Element Ihrer Dokumente befinden, versuchen Sie es also

db.bar.createIndex({point:"2dsphere"});

Sie können dann wie folgt abfragen, indem Sie ein geoJson-Objekt für die Abfrage bereitstellen:

db.bar.find(
   { point :
       { $near :
          {
            $geometry : {
               type : "Point" ,
               coordinates : [-84.27326978424058, 30.443902444762696] },
            $maxDistance : 1
          }
       }
    }
)