服务器上用宝塔搭建了个环境
宝塔上安装了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);
}