Open d5e opened 13 years ago
Yrah, it would have to look different, but that's not hard to achieve with CouchDB, as you can tell it to walk the view's b-tree backwards. I'll look into it.
hey matt, I just found out one way of achieving this MyModel.last thing ... I am not sure whether there is a more generic method, but If you specify a view for the model like
view :latest_view, :key => :created_at, :descending => true, :limit => 1 def self.last CouchPotato.database.view(Document.latest_view).first end
this would return the last Document
I just found out one more option ... without the need to define a view inside the model
#simply_stored/couch/finders.rb when :last if with_deleted || !soft_deleting_enabled? CouchPotato.database.view(all_documents(:limit => 1, :descending => true)).first else CouchPotato.database.view(all_documents_without_deleted( :key => nil, :limit => 1, :descending => true)).first end else
best regards!
Henry
I have found that in simply_stored/lib/simply_stored/couch/finders.rb there is a :first method implemented, so I can fetch the first record of that type. Working.
But I am missing a :last method allowing me, to get the last record ...
should be something like
as the first query is made via
it seems that a performant approach has to look different for last as for first as we cannot use that :limit => 1 here