
MongoDB::Connection - A connection to a Mongo server

version 0.26

The MongoDB::Connection class creates a connection to the MongoDB server.
By default, it connects to a single server running on the local machine listening on the default port:
# connects to localhost:27017
my $connection = MongoDB::Connection->new;
It can connect to a database server running anywhere, though:
my $connection = MongoDB::Connection->new(host => 'example.com', port => 12345);
It can also be used to connect to a replication pair of database servers:
my $connection = MongoDB::Connection->new(left_host => '192.0.2.0', right_host => '192.0.2.1');
If ports aren't given, they default to 27017.

Hostname to connect to. Defaults to localhost.
Port to use when connecting. Defaults to 27017.
Paired connection host to connect to. Can be master or slave.
Port to use when connecting to left_host. Defaults to 27017.
Paired connection host to connect to. Can be master or slave.
Port to use when connecting to right_host. Defaults to 27017.
Boolean indicating whether or not to reconnect if the connection is interrupted. Defaults to 1.
Boolean indication whether or not to connect automatically on object construction. Defaults to 1.

$connection->connect;
Connects to the mongo server. Called automatically on object construction if auto_connect is true.
my @dbs = $connection->database_names;
Lists all databases on the mongo server.
my $database = $connection->get_database('foo');
Returns a MongoDB::Database instance for database with the given $name.
$master = $connection->find_master
Determines which host of a paired connection is master. Does nothing for a non-paired connection. This need never be invoked by a user, it is called automatically by internal functions. Returns values:
$connection->authenticate('foo', 'username', 'secret');
Attempts to authenticate for use of the $dbname database with $username and $password. Passwords are expected to be cleartext and will be automatically hashed before sending over the wire, unless $is_digest is true, which will assume you already did the hashing on yourself.

Kristina Chodorow <kristina@mongodb.org>