MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

MongoDB „nie można znaleźć indeksu dla zapytania $geoNear”

Niewiele problemów, utworzyłeś swoje indeksy w kolekcji foo bazy danych foo, ale pytasz o kolekcję bar . Musisz znajdować się we właściwej kolekcji.

Czytając wstawiony dokument, musisz dodać indeks „2dsphere”, aby obsługiwać obiekty geoJson. Ten indeks musi znajdować się w „punktowym” elemencie dokumentów, więc spróbuj

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

Następnie możesz wykonać zapytanie w następujący sposób, podając obiekt geoJson dla zapytania:

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Zapytanie o dokument i wszystkie jego dokumenty podrzędne, które pasują do warunku w mongodb (przy użyciu wiosny)

  2. Mongo:znajdź przedmioty, które nie mają określonego pola

  3. Grupuj i licz według miesiąca

  4. Serializuj jedną klasę na dwa różne sposoby z Jacksonem

  5. Najnowocześniejsze zarządzanie bazami danych:ClusterControl — przewodnik