MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB 'impossible de trouver l'index pour la requête $geoNear'

Quelques problèmes, vous avez créé vos index sur la collection foo de la base de données foo, mais vous interrogez la collection bar . Vous devez être sur la bonne collection.

En lisant le document que vous avez inséré, vous devez ajouter un index "2dsphere" pour prendre en charge les objets geoJson. Cet index doit être sur l'élément "point" de vos documents, alors essayez

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

Vous pouvez ensuite interroger comme suit en fournissant un obj geoJson pour la requête :

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