在Codeigniter框架中连接到MongoDB Atlas出现错误

时间:2018-08-12 09:16:59

标签: mongodb codeigniter-3

我想做的是将mongodb地图集与我的codeigniter框架连接。

我已经将此库用于mongodb https://github.com/verkhoumov/codeigniter-mongodb-library

下面是我的连接代码

$config['mongo_db']['default'] = [
'settings' => [
    'auth'             => TRUE,
    'debug'            => TRUE,
    'return_as'        => 'array',
    'auto_reset_query' => TRUE
],

'connection_string' => '',

'connection' => [
    'host'          => 'host link',
    'port'          => '27017',
    'user_name'     => 'username',
    'user_password' => 'password',
    'db_name'       => 'dbname',
    'db_options'    => []
],

'driver' => []
];

主要问题是mongodb atlas无法为您提供端口,其查询字符串就像mongodb+srv而不是mongodb:27017

1 个答案:

答案 0 :(得分:1)

MongoDb Atlas提供了一个连接字符串。
您可以在“群集”->“连接您的应用程序”->“复制连接字符串”下找到它。
然后在配置文件的“ connection_string”中进行设置。其他参数保留默认值。

$config['mongo_db']['default'] = [
    'settings' => [
        'auth'             => TRUE, 
        'debug'            => TRUE,
        'return_as'        => 'array',
        'auto_reset_query' => TRUE
    ],

    'connection_string' => 'mongodb://************@cluster0-shard-00-00-5ehze.gcp.mongodb.net:27017,cluster0-shard-00-01-5ehze.gcp.mongodb.net:27017,cluster0-shard-00-02-5ehze.gcp.mongodb.net:27017/cmsdb?ssl=true&replicaSet=Cluster0-shard-0&authSource=admin&retryWrites=true',

    'connection' => [
        'host'          => '',
        'port'          => '',
        'user_name'     => '',
        'user_password' => '',
        'db_name'       => '',
        'db_options'    => []
    ],

    'driver' => []
];