У меня Images
хранится в mongoDB.Они отсортированы по "creation_at".
Теперь, когда я загружаю один элемент с помощью Image.find("documentID")
, я хочу получить доступ к документу непосредственно перед и после него, на основе порядка created_at
.
Для этого у меня есть два метода и default_scope в image.rb
:
default_scope asc(:created_at)
def previous_image
self.class.last(:conditions => {:created_at.lt => created_at})
end
def next_image
self.class.first(:conditions => {:created_at.gt => created_at})
end
Есть ли в mongoDB собственный способ доступа к документу до и послетекущий документ?
Есть ли лучший способ создать такие именованные области с mongoID в рельсах для доступа к предыдущим и следующим элементам, также учитывая производительность (не запрашивая три раза для одного изображения)?
Редактировать : «предыдущий_изображение» должно использовать последнее, а не первое.Это решает проблему «пропуска» предметов.Однако вопрос о том, как этого добиться, остается.