宝塔创建的MongoDB外部连接和使用Navicat管理数据库及集合

1,161 阅读1分钟

服务器上用宝塔搭建了个环境

宝塔上安装了MongoDB后无法连接。

查找问题:

查看配置文件,默认BindIP 127.0.0.1 端口27017

首先在宝塔安全里面将27017端口放行

然后在阿里云安全组将27017端口加入安全组(我的阿里云安全组是限制了外网访问一些端口的)

最后将默认BindIP 127.0.0.1 修改为0.0.0.0;并重启MongoDB

使用Navicat测试连接,成功!

连接成功后此时可以点击【数据库】进行数据库添加,如下图顺序所示:

添加成功后,即可管理集合、视图、函数等了。

我这里使用Thinkphp5.1框架,尝试通过代码写入数据

首先在database.php中数组末 追加mongoDB的配置

    //MongoDB 配置    'mongo_db' =>[        // 数据库类型        'type'           => '\think\mongo\Connection',        // 设置查询类        'query'          => '\think\mongo\Query',        // 服务器地址        'hostname'       => '192.168.3.216',        // 集合名        'database'       => 'for_think_mall',        // 用户名        'username'       => '',        // 密码        'password'       => '',        // 端口        'hostport'       => '27017',        'pk_convert_id'  => true,    ]

然后在controller中加入一个方法进行写入

    /**     * mongo测试 使用方法和mysql基本一致,只是需要加入table对应的集合名     */
    public function test()    {        
$data = [            
'name'=>'test',            
'value'=>'mongo db'        
];       
 $res = Db::connect('mongo_db')->table('demo')->insert(($data));        
$this->success("res",$res);    
}
    public function testSelect()    {        
$a = Db::connect('mongo_db')->table('demo')        
->where('id','5ff6c6cf6f6f0000f1000d18')        
->select();        
$this->success("res",$res);    
}