sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDB 'no se puede encontrar el índice para la consulta $ geoNear'

Pocos problemas, ha creado sus índices en la colección foo de la base de datos foo, pero está consultando la colección de barras . Tienes que estar en la colección correcta.

Al leer el documento que ha insertado, debe agregar un índice "2dsphere" para admitir los objetos geoJson. Este índice debe estar en el elemento "punto" de sus documentos, así que intente

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

A continuación, puede realizar la consulta de la siguiente manera proporcionando un geoJson obj para la consulta:

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