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

Znajdź najnowsze i najbliższe posty, limit 20

Przypuszczam, że ostatecznie otrzymujesz listę postów, które mają dwa dyskretne wymiary rankingu, tj.:

{ age: 86400, distance: 1000 }
{ age: 172800, distance: 5000 }
{ age: 57600, distance: 20000 }
{ age: 288000, distance: 8000 }

Tak naprawdę nie ma znaczenia, jakie są jednostki, powiedzmy sekundy i metry. Jeśli chcesz, aby oba te elementy wpływały na ranking sortowania, otrzymujesz algorytm rankingowy, w najprostszym przypadku taki:

rank = (C1 * age) + (C2 * distance)

Gdzie C1 i C2 są stałymi, które możesz dostosować, aby dostroić wagi. Wartości będą zależeć od używanych jednostek i tego, jak duży wpływ na ranking przypiszesz do każdego wymiaru.

Inną opcją może być uporządkowanie najpierw według sumarycznego czasu, a następnie odległości, więc wszystkie posty z dzisiaj uporządkowane według odległości; następnie wczorajsze uporządkowane według odległości i tak dalej. Lub odwrotnie, sortując według odległości, a następnie wieku, więc wszystko w granicach (0 - 1000m) uporządkowane według wieku; następnie wszystkie w promieniu (1001 - 2000 m) i tak dalej.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Zapobieganie wstrzykiwaniu JavaScript NoSQL w MongoDB

  2. Wstaw MongoDB()

  3. MongoDB $grupa (plac zabaw Mongo)

  4. MongoDB diacriticInSensitive search nie pokazuje wszystkich akcentowanych (słów ze znakiem diakrytycznym) wierszy zgodnie z oczekiwaniami i na odwrót

  5. Co może spowodować błąd zniszczenia topologii podczas wywoływania db.destroyDatabase z natywnym node.js mongodb?