NAME

MongoDB::Database - A Mongo database

SYNOPSIS

The MongoDB::Database class accesses to a database.

# accesses the foo database
my $db = $connection->foo;

You can also access databases with the "get_database($name)" in MongoDB::Connection method.

SEE ALSO

Core documentation on databases: http://dochub.mongodb.org/core/databases.

ATTRIBUTES

name

The name of the database.

METHODS

collection_names

my @collections = $database->collection_names;

Returns the list of collections in this database.

get_collection ($name)

my $collection = $database->get_collection('foo');

Returns a MongoDB::Collection for the collection called $name within this database.

get_gridfs ($prefix?)

my $grid = $database->get_gridfs;

Returns a MongoDB::GridFS for storing and retrieving files from the database. Default prefix is "fs", making $grid->files "fs.files" and $grid->chunks "fs.chunks".

See MongoDB::GridFS for more information.

drop

$database->drop;

Deletes the database.

last_error($options?)

my $err = $db->last_error({w => 2});

Finds out if the last database operation completed successfully. If the last operation did not complete successfully, returns a hash reference of information about the error that occured.

The optional $options parameter is a hash reference that can contain any of the following:

w

Guarantees that the previous operation will be replicated to w servers before this command will return success. See MongoDB::Connection::w for more information.

wtimeout

Milliseconds to wait for w copies of the data to be made. This parameter should generally be specified, as the database will otherwise wait forever if w copies cannot be made.

fsync

If true, the database will fsync to disk before returning.

See "w" in MongoDB::Connection for more information.

run_command ($command)

my $result = $database->run_command({ some_command => 1 });

Runs a database command. Throws an exception with an error message if the command fails. Returns the result of the command on success. For a list of possible database commands, run:

my $commands = $db->run_command({listCommands : 1});

See also core documentation on database commands: http://dochub.mongodb.org/core/commands.

eval ($code, $args?)

my $result = $database->eval('function(x) { return "hello, "+x; }', ["world"]);

Evaluate a JavaScript expression on the Mongo server. The $code argument can be a string or an instance of MongoDB::Code. The $args are an optional array of arguments to be passed to the $code function.

eval is useful if you need to touch a lot of data lightly; in such a scenario the network transfer of the data could be a bottleneck. The $code argument must be a JavaScript function. $args is an array of parameters that will be passed to the function. For more examples of using eval see http://www.mongodb.org/display/DOCS/Server-side+Code+Execution#Server-sideCodeExecution-Using{{db.eval%28%29}}.

AUTHOR

Kristina Chodorow <kristina@mongodb.org>