2013-05-23 2 views
8

Я нашел некоторую информацию, чтобы выполнить это в mongoDB, но мне это нужно с mongoid. Поэтому я могу сделать что-то вроде:Как получить последние N документов с мангоидом?

User.last(7000).each do ....

Я использую:

  • MongoDB версия оболочки: 2.4.3

  • Mongoid 2.6.0

Спасибо!

+0

Попробуйте перевести решение JS на Mongoid. Держу пари, это сработает. –

ответ

20

Теперь я нашел решение от Mongoid origin:

User.all.desc('_id').limit(7000) 

Он сортирует пользователей в порядке убывания в соответствии с идентификатором.

+3

ВАЖНО! Предполагая, что у вас есть 9000 записей, если вы делаете u = User.all.desc ('_ id'). Limit (7000), а затем u.delete удалит 9000 записей! Просто случилось со мной в производственном приложении. К счастью, я всегда делаю новую резервную копию, прежде чем делать такие вещи. – Pod

+0

@Pod вы должны преобразовать в массив 'to_a' после' limit() '(до уничтожения), прочитайте это https://stackoverflow.com/a/20368143/1297435 –

Смежные вопросы