Function connectMongoDB
Connects to a MongoDB instance.
MongoClient connectMongoDB
(
string host,
ushort port
) @safe;
MongoClient connectMongoDB
(
string host_or_url
) @safe;
MongoClient connectMongoDB
(
MongoClientSettings settings
) @safe;
If the host/port form is used, default settings will be used, which enable safe updates, but no fsync. By specifying a URL instead, it is possible to fully customize the settings. See http://www.mongodb.org/display/DOCS/Connections for the complete set of options. Note that 'sslverifycertificate' is only present in some client bindings, including here.
Note that the returned MongoClient uses a vibe.core.connectionpool.ConnectionPool internally to create and reuse connections as necessary. Thus, the MongoClient instance can - and should - be shared among all fibers in a thread by storing in in a thread local variable.
Authentication
Authenticated connections are supported by using a URL connection string such as "mongodb://user:password@host". SCRAM-SHA-1 is used by default.
Examples
// connecting with default settings:
auto client = connectMongoDB("127.0.0.1");
auto users = client .getCollection("users");
users .insert(Bson("peter"));
// connecting using the URL form with custom settings
auto client = connectMongoDB("mongodb://localhost/?slaveOk=true");
// connecting with SSL encryption enabled and verification off
auto client = connectMongoDB("mongodb://localhost/?ssl=true&sslverifycertificate=false");
Parameters
Name | Description |
---|---|
host | Specifies the host name or IP address of the MongoDB server. |
port | Can be used to specify the port of the MongoDB server if different from the default one. |
host_or_url | Can either be a host name, in which case the default port will be used, or a URL with the mongodb:// scheme. |
settings | An object containing the full set of possible configuration options. |
Returns
A new MongoClient instance that can be used to access the database.
Throws
Throws an exception if a mongodb:// URL is given and the URL cannot be parsed. An exception will not be thrown if called with a hostname and port.