sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB "kan inte hitta index för $geoNear-frågan"

Några problem, du skapade dina index på foo-samlingen i foo-databasen, men frågar efter barsamlingen . Du måste vara på rätt samling.

När du läser dokumentet du har infogat måste du lägga till ett "2dsphere"-index för att stödja geoJson-objekten. Detta index måste vara på "punkt"-elementet i dina dokument, så försök

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

Du kan sedan fråga enligt följande genom att tillhandahålla ett geoJson obj för frågan:

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


  1. MongoDB $add

  2. Hur infogar man ett dokument i mongodb med mongoose och får det genererade ID:t?

  3. Finns det något sätt att arbeta med sessioner utan att låsa på ASP.Net MVC-webbplatsen?

  4. varför Redis är enkelgängad (händelsedriven)