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.