sql >> Databasteknik >  >> NoSQL >> MongoDB

Effektiv sortering av resultaten av en mongodb geospatial fråga

Har du testat att använda aggregeringsramverket?

En pipeline i två steg kan fungera:

  1. en $match steg som använder din befintliga $geoWithin-fråga.
  2. en $sort steg som sorterar efter relevance: -1

Här är ett exempel på hur det kan se ut:

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

Jag är inte säker på hur det kommer att fungera. Men även om det är dåligt med MongoDB 2.4, kan det vara dramatiskt annorlunda i 2.6/2.5, eftersom 2.6 kommer att innehålla förbättrad aggregeringssorteringsprestanda .



  1. MongoDB:upsert sub-dokument

  2. MongoDB Seattle 2014

  3. Hur får man reda på alla mongoosemodeller?

  4. Integrering av ClusterControl med SNMP:Del två