sql >> Databáze >  >> NoSQL >> MongoDB

Efektivní třídění výsledků geoprostorového dotazu mongodb

Zkusili jste použít agregační rámec?

Dvoustupňové potrubí může fungovat:

  1. a $match fázi, která používá váš stávající dotaz $geoWithin.
  2. a $sort fáze, která třídí podle relevance: -1

Zde je příklad, jak by to mohlo vypadat:

db.foo.aggregate(
    {$match: { "loc": {"$geoWithin":{"$box":[[-103,10.1],[-80.43,30.232]]}} }},
    {$sort: {relevance: -1}}
);

Nejsem si jistý, jak to bude fungovat. Nicméně, i když je to špatné s MongoDB 2.4, může to být dramaticky odlišné ve 2.6/2.5, protože 2.6 bude obsahovat vylepšený výkon řazení agregací .



  1. MongoDB:mongorestore:příkaz nenalezen

  2. Mongodb není správně aktualizován z 4.2 na 4.4

  3. Jak ignorovat hodnoty null při odstraňování dokumentu MongoDB?

  4. Použití QueryBuilder a BasicDBObjectBuilder v MongoDB 3.3.0 výše