2011-12-28 2 views
0

В каждом документе есть Дата Недвижимость, которая обновляется new MongoDate() всякий раз, когда документ изменен.Как получить последние N модифицированных документов MongoDB?

Как можно получить N последних измененных документов? Но не с определенной даты. Только N документов с последними датами. Может быть, что-то вроде sort только не как метод курсора, но существует параметр запроса?

ответ

6

В проекте я работаю, я использовать что-то вроде этого, чтобы извлечь последние пять запись, в обратном порядке (новейший для старше)

for e in coll.find().sort("data_ins", -1).limit(5): 
    # do something 

где data_ins отметка времени, но я предполагаю, что это работает на каждом сортируемом поле.

+0

Спасибо. Это будет работать некоторое время. Но нормально ли, чтобы все документы вашей коллекции были помещены в курсор с большими коллекциями? – Vitaly

+1

используйте объяснение http://www.mongodb.org/display/DOCS/Explain, чтобы проверить, использует ли mongo индекс для data_ins. то должно быть хорошо и быстро получить N последних записей. – milan

+1

@Vitaly: в моем проекте я не ожидаю более 100 или 150 документов, поэтому это хорошее решение, если вы планируете использовать очень большую коллекцию, вы должны использовать индекс. – Gianluca

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