首页 > 数据库技术 > 详细

thinkphp5.0.24 配置mongodb

时间:2021-03-12 18:46:56      阅读:25      评论:0      收藏:0      [点我收藏+]

一,环境

  thinkphp5.0.24 php 7.2 mongo

  mongodb 安装不再缀述,主要讲下tp5如果集成mongodb可以正常的查询,如果不清楚,要花费不少时间去排查。

 

二,下载think-mongo 1.*版本

  直接用composer require topthink/think-mongo=1.*

  在tp5框架vendor目录会下生成think-mongo相的 Connection.php Builder.php Query.php

 

三,配置tp5

  

return [

    // 数据库类型
    ‘type‘        => ‘\think\mongo\Connection‘,
    // Query对象
    ‘query‘           => ‘\think\mongo\Query‘,
    // 数据库连接DSN配置
    ‘dsn‘        => ‘‘,

    ‘hostname‘    => ‘127.0.0.1‘,
    // 验证数据库
    ‘database‘    => ‘admin‘,
    //连接数据库
    ‘db‘ => ‘conf‘,
    // 数据库用户名
    ‘username‘    => ‘sa‘,
    // 数据库密码
    ‘password‘    => ‘123456‘,
    // 数据库连接端口
    ‘hostport‘    => ‘27017‘,

    // 数据库编码默认采用utf8
    ‘charset‘     => ‘utf8‘,
    // 数据库表前缀
    ‘prefix‘      => ‘‘,
    //是否返回id
    ‘pk_convert_id‘ => false,
    // 副本集
    ‘is_replica_set‘  => false,
];

如果有多个数据库需要切换,可以在config.php里配置类似如下:

  

 ‘MONGO_USER‘ => [
        // 数据库类型
        ‘type‘        => ‘\think\mongo\Connection‘,
        // Query类
        ‘query‘           => ‘\think\mongo\Query‘,
        // 数据库连接DSN配置
        ‘dsn‘         => ‘‘,
        // 服务器地址
        ‘hostname‘ => ‘127.0.0.1‘,
        // 验证数据库
        ‘database‘    => ‘admin‘,
        // 数据库名
        ‘db‘    => ‘user‘,
        // 数据库用户名
        ‘username‘    => ‘sa‘,
        // 数据库密码
        ‘password‘    => ‘123456‘,
        // 数据库连接端口
        ‘hostport‘    => ‘27017‘,
        // 数据库连接参数x
        ‘params‘      => [],
        // 数据库编码默认采用utf8
        ‘charset‘     => ‘utf8mb4‘,
        // 数据库表前缀
        ‘prefix‘      => ‘‘,
        ‘pk_convert_id‘ => false,
        ‘debug‘     =>  false,
        // 副本集
        //‘is_replica_set‘  => true,
    ],

这样连接的时候用Db::connect(‘MONGO_USER‘)就可以随意的切库了。

 

三,针对think-mongo的一个底层修改,重要

  

$this->links[$linkNum] = new Manager($host, $this->config[‘params‘]);

            if($config[‘db‘]){
                //切换数据库
                $this->db($config[‘db‘]);
            }

在Connection.php里一定要加上这段代码,不然一直会查询admin数据库的。

  

  

thinkphp5.0.24 配置mongodb

原文:https://www.cnblogs.com/sblack/p/14525330.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!