sql >> Database teknologi >  >> NoSQL >> MongoDB

Effektiv sortering af resultaterne af en mongodb geospatial forespørgsel

Har du prøvet at bruge aggregeringsrammen?

En to-trins pipeline kan fungere:

  1. et $match trin, der bruger din eksisterende $geoWithin-forespørgsel.
  2. en $sort trin, der sorterer efter relevance: -1

Her er et eksempel på, hvordan det kan se ud:

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

Jeg er ikke sikker på, hvordan det vil fungere. Men selvom det er dårligt med MongoDB 2.4, kan det være dramatisk anderledes i 2.6/2.5, da 2.6 vil inkludere forbedret aggregeringssorteringsydelse .



  1. Hvordan kan jeg sikkert oprette forbindelse til Heroku-hostede Redis fra kommandolinjen?

  2. Hvorfor har Mongoose både skemaer og modeller?

  3. Hvordan implementerer man redis' pubsub timeout-funktion?

  4. Tæl antal kommentarer i indlæg i Meteor