Navigation

Connecting to MongoDB

Creating a Client instance

Connecting to a Standalone server

If you do not specify a $uri value, the driver connects to a standalone mongod on 127.0.0.1 via port 27017. To connect to a different server, pass the corresponding connection string as the first parameter when creating the Client instance:

<?php

$client = new MongoDB\Client('mongodb://mongodb-deployment:27017');

Connecting to a Replica Set

The following example demonstrates how to connect to a replica set with a custom read preference:

<?php

$client = new MongoDB\Client(
    'mongodb://rs1.example.com,rs2.example.com/?replicaSet=myReplicaSet',
    [
        'readPreference' => 'secondaryPreferred',
    ]
);

Connecting with SSL and Authentication

The following example demonstrates how to connect to a MongoDB replica set with SSL and authentication, as is used for MongoDB Atlas:

<?php

$client = new MongoDB\Client(
    'mongodb://myUsername:myPassword@rs1.example.com,rs2.example.com/?ssl=true&replicaSet=myReplicaSet&authSource=admin'
);

Alternatively, the authentication credentials and URI parameters may be specified in the constructor’s $uriOptions parameter:

<?php

$client = new MongoDB\Client(
    'mongodb://rs1.example.com,rs2.example.com/'
    [
        'username' => 'myUsername',
        'password' => 'myPassword',
        'ssl' => true,
        'replicaSet' => 'myReplicaSet',
        'authSource' => 'admin',
    ],
);

The driver supports additional SSL options, which may be specified in the constructor’s $driverOptions parameter. Those options are covered in the MongoDB\Driver\Manager::__construct() documentation.

Specifying connection options

Connection options can be passed via the $uri parameter, or through the $options and $driverOptions parameters. The available options are documented in the MongoDB\Client::__construct() reference.