sql >> Database >  >> NoSQL >> MongoDB

MongoDB 'kan index voor $geoNear-query niet vinden'

Weinig problemen, je hebt je indexen gemaakt op de foo-verzameling van de foo-database, maar vraagt ​​de bar-collectie op . Je moet op de juiste collectie staan.

Als u het document leest dat u hebt ingevoegd, moet u een "2dsphere"-index toevoegen om de geoJson-objecten te ondersteunen. Deze index moet op het "punt"-element van uw documenten staan, dus probeer

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

U kunt dan als volgt een query uitvoeren door een geoJson obj voor de query op te geven:

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


  1. 3 manieren om een ​​index in MongoDB te plaatsen

  2. MongoDB index/RAM-relatie

  3. Waarom kost een 500 MB Redis dump.rdb-bestand ongeveer 5,0 GB geheugen?

  4. Mongodb-aggregatiepijplijn hoe een groepspush te beperken