如何使用laravel从slave读取并在mongodb中使用replicaset写入master

Vis*_*dha 5 php mongodb laravel jenssegers-mongodb laravel-5.1

我正在使用 mongodb 使用 laravel 5.1。对于 mongodb,我使用 jenssegers mongo 配置。

现在我必须创建 mongodb 副本集,并且我只想从主服务器的从属和写操作进行读取操作。

在 laravel 的文档中,我读到我们可以在读写中进行分离,如下所示:

'mysql' => [
    'read' => [
        'host' => '192.168.1.1',
    ],
    'write' => [
        'host' => '196.168.1.2'
    ],
    'driver'    => 'mysql',
    'database'  => 'database',
    'username'  => 'root',
    'password'  => '',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
],
Run Code Online (Sandbox Code Playgroud)

这里是链接了解如何在laravel设置配置。

在 jenssegers 文档中,这里是复制配置:

'mongodb' => [
    'driver'   => 'mongodb',
    'host'     => ['server1', 'server2'],
    'port'     => env('DB_PORT', 27017),
    'database' => env('DB_DATABASE'),
    'username' => env('DB_USERNAME'),
    'password' => env('DB_PASSWORD'),
    'options'  => ['replicaSet' => 'replicaSetName']
],
Run Code Online (Sandbox Code Playgroud)

因此,如果我将其更改为:

'mongodb' => [
        'driver'   => 'mongodb',
        'read'     => ['host' => '192.168.1.1'],
        'write'    => ['host' => '192.168.1.2'],
        'port'     => env('DB_PORT', 27017),
        'database' => env('DB_DATABASE'),
        'username' => env('DB_USERNAME'),
        'password' => env('DB_PASSWORD'),
        'options'  => ['replicaSet' => 'replicaSetName']
    ],
Run Code Online (Sandbox Code Playgroud)

那么我可以在 jenssegers mongo db 配置中使用上面的配置吗?