This is a quick little MongoMapper plugin that provides some basic acts-as-list style functionality on mongo documents. By default things are added to the list bottom.
In the gemfile:
In your model:
class SortableDocument include MongoMapper::Document plugin MongoMapper::Plugins::SortableItem list_scope_column :parent_id # optional if you want to scope the lists # ... end
Then you have access to some helpful methods, such as:
.in_orderretrieves the list items in order
.in_list(id)retrieves the items scoped as you wish
.reorder(orderd_array_of_ids)sets the positions of the given ids in order
object.set_position(position)inserts object into the list at the given position
John Nunemaker for mongo_mapper itself, as well as a start down the road of how to implement this. It's definitely not as "fully functional" as
acts_as_list, but it does everything I need :).