MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Efektywne sortowanie wyników zapytania geoprzestrzennego mongodb

Czy próbowałeś użyć struktury agregacji?

Może działać dwuetapowy potok:

  1. $match etap, który używa Twojego istniejącego zapytania $geoWithin.
  2. sortowanie $ etap sortujący według relevance: -1

Oto przykład tego, jak może wyglądać:

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

Nie jestem pewien, jak to będzie działać. Jednak nawet jeśli jest słaba z MongoDB 2.4, może być dramatycznie inna w 2.6/2.5, ponieważ 2.6 będzie zawierać poprawiona wydajność sortowania agregacyjnego .



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB, Mongoose:Jak znaleźć poddokument w znalezionym dokumencie?

  2. Lista atrybutów dynamicznych w modelu Mongoid

  3. Zapytanie mongoDB używające agregacji do zapytania o najnowszą datę elementu

  4. Deserializacja typów polimorficznych za pomocą sterownika MongoDB C#

  5. Aktualizacja MongoDB (wstaw listę elementów do tablicy)