thinkphp6mongodb

ThinkPHP6.* / 384人浏览 / 0人评论

thinkphp6使用mongodb

配置mongoDB数据库信息

安装扩展

think-mongo>2.0.15

http://packagist.p2hp.com/packages/topthink/think-mongo
composer require topthink/think-mongo

在database.php添加

<?php

return [
    // 默认使用的数据库连接配置
    'default'         => env('database.driver', 'mysql'),

    // 自定义时间查询规则
    'time_query_rule' => [],

    // 自动写入时间戳字段
    // true为自动识别类型 false关闭
    // 字符串则明确指定时间字段类型 支持 int timestamp datetime date
    'auto_timestamp'  => true,

    // 时间字段取出后的默认时间格式
    'datetime_format' => 'Y-m-d H:i:s',

    // 时间字段配置 配置格式:create_time,update_time
    'datetime_field'  => '',

    // 数据库连接配置信息
    'connections'     => [
        'mysql' => [
            // 数据库类型
            'type'            => env('database.type', 'mysql'),
            // 服务器地址
            'hostname'        => env('database.hostname', '127.0.0.1'),
            // 数据库名
            'database'        => env('database.database', ''),
            // 用户名
            'username'        => env('database.username', 'root'),
            // 密码
            'password'        => env('database.password', ''),
            // 端口
            'hostport'        => env('database.hostport', '3306'),
            // 数据库连接参数
            'params'          => [],
            // 数据库编码默认采用utf8
            'charset'         => env('database.charset', 'utf8'),
            // 数据库表前缀
            'prefix'          => env('database.prefix', ''),

            // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
            'deploy'          => 0,
            // 数据库读写是否分离 主从式有效
            'rw_separate'     => false,
            // 读写分离后 主服务器数量
            'master_num'      => 1,
            // 指定从服务器序号
            'slave_no'        => '',
            // 是否严格检查字段是否存在
            'fields_strict'   => true,
            // 是否需要断线重连
            'break_reconnect' => false,
            // 监听SQL
            'trigger_sql'     => env('app_debug', true),
            // 开启字段缓存
            'fields_cache'    => false,
        ],
        // 更多的数据库配置信息
        'mongodb'=>[
            // 数据库类型
            'type'              => 'mongo',
            // 服务器地址
            'hostname'          => '127.0.0.1',
            // 数据库名
            'database'          => 'local',
            // 用户名
            'username'          => '',
            // 密码
            'password'          => '',
            // 端口
            'hostport'          => '27017',
            // 数据库连接参数
            'params'            => [],
            // 数据库调试模式
            'debug'             => env('database.debug', true),
            // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
            'deploy'            => 0,
            // 数据库读写是否分离 主从式有效
            'rw_separate'       => false,
            // 监听SQL
            'trigger_sql'       => true,
            // 读写分离后 主服务器数量
            'master_num'        => 1,
            // 指定从服务器序号
            'slave_no'          => '',
            // 是否严格检查字段是否存在
            'fields_strict'     => true,
            // 是否需要断线重连
            'break_reconnect'   => false,
            // 字段缓存路径
            'schema_cache_path' => app()->getRuntimePath() . 'schema' . DIRECTORY_SEPARATOR,
        ]
        // 更多的数据库配置信息
    ],
];

存入数据

Db::connect('mongodb')
    ->table('user')
    ->insert(['name'=>'张三','age'=>18]);

读取数据

$res = Db::connect('mongodb')
    ->table('user')
    ->select();
dd($res);

读取效果

^ think\Collection {#56 ▼
  #items: array:4 [▼
    0 => array:3 [▼
      "_id" => MongoDB\BSON\ObjectId {#61 ▶}
      "name" => "张三"
      "age" => 18
    ]
    1 => array:3 [▼
      "_id" => MongoDB\BSON\ObjectId {#62 ▶}
      "name" => "张三"
      "age" => 18
    ]
    2 => array:3 [▼
      "_id" => MongoDB\BSON\ObjectId {#63 ▶}
      "name" => "张三"
      "age" => 18
    ]
    3 => array:3 [▼
      "_id" => MongoDB\BSON\ObjectId {#64 ▶}
      "name" => "张三"
      "age" => 18
    ]
  ]
}

读取效果

MongoDB

转载注明:

0 条评论

还没有人发表评论

发表评论 取消回复

记住我的信息,方便下次评论
有人回复时邮件通知我