Używam mongodb na mojej platformie blogów, gdzie użytkownicy mogą tworzyć własne blogi. Wszystkie wpisy ze wszystkich blogów znajdują się w zbiorze wpisów. Dokument wpisu wygląda następująco:Mongodb: Wybierz górne N wierszy z każdej grupy
{
'blog_id':xxx,
'timestamp':xxx,
'title':xxx,
'content':xxx
}
Jak wskazuje pytanie, czy istnieje sposób wyboru, powiedzmy, ostatnie 3 wpisy dla każdego bloga?
Masz pomysł. Nie myślałem o niczym podobnym. Dodatkowa aktualizacja podczas tworzenia nowego posta nie stanowiłaby problemu. Jednak gdy użytkownik usunie wpis, będziemy musieli zaktualizować pole "wiek" wszystkich pozostałych wpisów. Ta aktualizacja może być ograniczona tylko wtedy, gdy usunięty post ma "wiek" <= 3 jednak. Czy brakuje mi czegoś? – Tacaza
Tak, nie powinieneś ograniczać tej aktualizacji do wieku <3, ponieważ skończy Ci się zduplikowany wiek. Aktualizacje w miejscu są niezwykle szybkie, więc nie powinno to stanowić problemu. Usunięcie oznacza usunięcie wpisu i zmniejszenie wieku o 1 w przypadku wieku> usunięty_post.age. Powodzenia. –
To absolutnie ma sens. Dzięki za Twoją sugestię! – Tacaza