NAME MongoX - DSL sugar for MongoDB VERSION version 0.001 SYNOPSIS # quick bootstrap, add connection and switch to db:'test' use MongoX { host => 'mongodb://127.0.0.1',db => 'test' }; # common way use MongoX; #register default connection; add_connection host => '127.0.0.1'; # switch to default connection; use_connection; # use database 'test' use_db 'test'; #add/register another connection with id "remote2" add_connection host => '192.168.1.1',id => 'remote2'; # switch to this connection use_connection 'remote2'; #get a collection object (from the db in current context) my $foo = get_collection 'foo'; # use 'foo' as default context collection use_collection 'foo'; # use context's db/collection say 'total rows:',context_collection->count(); my $id = context_collection->insert({ name => 'Pan', home => 'Beijing' }); my $gridfs = context_db->get_gridfs; ... DESCRIPTION MongoX is a light wrapper to MongoDB driver, it provide a versy simple but handy DSL syntax. It also will provide some usefull helpers like builtin mongoshell, you can quick work with MongoDB. ATTRIBUTES context_db my $db = context_db; Return current MongoDB::Database object in context; context_connection my $con = context_connection; Return current MongoDB::Connection object in context. context_collection my $col = context_collection; Return current MongoDB::Collection object in context, you can replace the object with "use_collection". METHODS use_connection # create a default connection use_connection; # use another connection with id:'con2' use_connection 'con2'; Switch to given connection, set the context connection to this connection. use_db use_db 'foo'; Switch to the database, set the context database to this database; use_collection use_collection 'user' Set 'user' collection as context collection. add_connection add_connection id => 'default', host => 'mongodb://127.0.0.1:27017' Register a connnection with the id, if omit, will add as default connection. All options exclude 'id' will direct pass to MongoDB::Connection. boot boot host => 'mongodb://127.0.0.1',db => 'test' # same as: add_connection host => 'mongodb://127.0.0.1', id => 'default'; use_connection; use_db 'test'; Boot is equivalent to call add_connection,use_connection,use_db. OPTIONS MongoX takes a set of options for the class construction at compile time as a HASH parameter to the "use" line. As a convenience, you can pass the default connection parameters and default database, then when MongoX import, it will apply these options to "add_connection" and "use_db", so the following code: use MongoX { host => 'mongodb://127.0.0.1',db => 'test' }; is equivalent to: use MongoX; add_connection host => 'mongodb://127.0.0.1'; use_connection; use_db 'test'; AUTHOR Pan Fan(nightsailer) COPYRIGHT AND LICENSE This software is copyright (c) 2010 by Pan Fan(nightsailer). This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.