Znalazłem kilka informacji, aby osiągnąć to w mongoDB, ale potrzebuję tego z mongoidem. Mogę zrobić coś takiego:Jak zdobyć ostatnie N dokumentów z mongoidem?
User.last(7000).each do ...
.
Używam:
MongoDB wersję powłoki: 2.4.3
Mongoid 2.6.0
Dzięki!
Znalazłem kilka informacji, aby osiągnąć to w mongoDB, ale potrzebuję tego z mongoidem. Mogę zrobić coś takiego:Jak zdobyć ostatnie N dokumentów z mongoidem?
User.last(7000).each do ...
.
Używam:
MongoDB wersję powłoki: 2.4.3
Mongoid 2.6.0
Dzięki!
Teraz znalazłem rozwiązanie z mongoid origin:
User.all.desc('_id').limit(7000)
sortuje on użytkownikom w porządku malejącym według id.
WAŻNE! Zakładając, że masz 9000 rekordów, jeśli zrobisz u = User.all.desc ('_ id'). Limit (7000), a następnie u.delete to usunie 9000 rekordów! Po prostu przydarzyło mi się to w aplikacji produkcyjnej. Na szczęście zawsze robię świeżą kopię zapasową przed zrobieniem takich rzeczy. – Pod
@Pod powinieneś przekonwertować tablicę 'to_a' po' limit() '(przed zniszczeniem), przeczytaj ten https://stackoverflow.com/a/20368143/1297435 –
Spróbuj przetłumaczyć rozwiązanie JS na Mongoid. Założę się, że to zadziała. –