Provided by: libmongodb-perl_0.702.1+ds-1ubuntu1_amd64 bug

NAME

       MongoDB::Database - A MongoDB Database

VERSION

       version 0.702.1

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.

NAME

       MongoDB::Database - A Mongo database

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.

       j   If true, awaits the journal commit before returning. If the server is running without
           journaling, it returns immediately, and successfully.

       "last_error" returns a hash with fields that vary, depending on what the previous
       operation was and if it succeeded or failed.  If the last operation (before the
       "last_error" call) failed, either:

       "err" will be set or
       "errmsg" will be set and "ok" will be 0.

       If "err" is "null" and "ok" is 1, the previous operation succeeded.

       The fields in the hash returned can include (but are not limited to):

       "ok"
           This should almost be 1 (unless "last_error" itself failed).

       "err"
           If this field is non-null, an error occurred on the previous operation. If this field
           is set, it will be a string describing the error that occurred.

       "code"
           If a database error occurred, the relevant error code will be passed back to the
           client.

       "errmsg"
           This field is set if something goes wrong with a database command.  It is coupled with
           "ok" being 0.  For example, if "w" is set and times out, "errmsg" will be set to
           "timed out waiting for slaves" and "ok" will be 0. If this field is set, it will be a
           string describing the error that occurred.

       "n" If the last operation was an update, upsert, or a remove, the number of objects
           affected will be returned.

       "wtimeout"
           If the previous option timed out waiting for replication.

       "waited"
           How long the operation waited before timing out.

       "wtime"
           If "w" was set and the operation succeeded, how long it took to replicate to "w"
           servers.

       "upserted"
           If an upsert occured, this field will contain the new record's "_id" field. For
           upserts, either this field or "updatedExisting" will be present (unless an error
           occurred).

       "updatedExisting"
           If an upsert updated an existing element, this field will be "true".  For upserts,
           either this field or "upserted" will be present (unless an error occurred).

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

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

       Runs a database command. Returns a string with the error message if the command fails.
       Returns the result of the command (a hash reference) on success.  For a list of possible
       database commands, run:

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

       There are a few examples of database commands in the "DATABASE COMMANDS" in
       MongoDB::Examples section.

       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}}>.

AUTHORS

       •   Florian Ragwitz <rafl@debian.org>

       •   Kristina Chodorow <kristina@mongodb.org>

       •   Mike Friedman <mike.friedman@10gen.com>

COPYRIGHT AND LICENSE

       This software is Copyright (c) 2013 by 10gen, Inc..

       This is free software, licensed under:

         The Apache License, Version 2.0, January 2004