NAME
Yote::IO::Mongo - A Mongo persistance engine for Yote.
DESCRIPTION
Yote::ObjProvider can be configured to use this engine. This is not meant to be used or accessed directly; this can be considered a private class.
CONFIGURATION
The package name is used as an argument to the Yote::ObjProvider package which also takes the configuration parameters for Yote::IO::Mongo.
Yote::ObjProvider::init( engine => 'Yote::IO::Mongo', engine_port => 27017, store => 'yote_db', user => 'yote_db_user', password => 'yote_db_password' );
PUBLIC METHODS
- commit_transaction( )
- count( container_id )
-
returns the number of items in the given container
- database( )
-
Provides a database handle. Used only in testing.
- disconnect( )
- ensure_datastore( )
-
Makes sure that the datastore has the correct table structure set up and in place.
- fetch( id )
-
Returns a hash representation of a yote object, hash ref or array ref by id. The values of the object are in an internal storage format and used by Yote::ObjProvider to build the object.
- first_id( id )
-
Returns the id of the first object in the system, the YoteRoot.
- get_id( obj )
-
Returns the id for the given hash ref, array ref or yote object. If the argument does not have an id assigned, a new id will be assigned.
- hash_delete( hash_id, key )
-
Removes the key from the hash given by the id
- hash_fetch( hash_id, key )
- hash_has_key( hash_id, key )
- hash_insert( hash_id, key, value )
- list_delete( list_id, idx )
- list_fetch( list_id, idx )
- list_insert( list_id, val, idx )
-
Inserts the item into the list with an optional index. If not given, this inserts to the end of the list.
- max_id( )
-
Returns the max ID in the yote system. Used for testing.
- new
- paginate( container_id, args )
-
Returns a paginated list or hash. Arguments are
* search_fields - a list of fields to search for in collections of yote objects * search_terms - a list of terms to search for * sort_fields - a list of fields to sort by for collections of yote objects * reversed_orders - a list of true or false values corresponding to the sort_fields list. A true value means that field is sorted in reverse * limit - maximum number of entries to return * skip - skip this many entries before returning the list * return_hash - return the result as a hashtable rather than as a list * reverse - return the result in reverse order
- recycle_object( obj_id )
-
Sets the available for recycle mark on the object entry in the database by object id and removes its data.
- recycle_objects( start_id, end_id )
-
Recycles all objects in the range given if they cannot trace back a path to root.
- search_list
-
Returns a paginated search list
- start_transaction( )
- stow( id, class, data )
-
Stores the object of class class encoded in the internal data format into the data store.
- stow_all( )
-
Stows all objects that are marked as dirty. This is called automatically by the application server and need not be explicitly called.
AUTHOR
Eric Wolf coyocanid@gmail.com http://madyote.com
LICENSE AND COPYRIGHT
Copyright (C) 2011 Eric Wolf
This module is free software; it can be used under the same terms as perl itself.