thinkphp5.1mongodb

ThinkPHP5.* / 432人浏览 / 0人评论

thinkphp5.1使用mongodb

配置mongoDB数据库信息

安装扩展

think-mongo<=2.0.15

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

在database.php添加

<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------

return [
    // 数据库类型
    'type'            => 'mysql',
    // 服务器地址
    'hostname'        => '127.0.0.1',
    // 数据库名
    'database'        => '',
    // 用户名
    'username'        => 'root',
    // 密码
    'password'        => '',
    // 端口
    'hostport'        => '',
    // 连接dsn
    'dsn'             => '',
    // 数据库连接参数
    'params'          => [],
    // 数据库编码默认采用utf8
    'charset'         => 'utf8',
    // 数据库表前缀
    'prefix'          => '',
    // 数据库调试模式
    'debug'           => true,
    // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
    'deploy'          => 0,
    // 数据库读写是否分离 主从式有效
    'rw_separate'     => false,
    // 读写分离后 主服务器数量
    'master_num'      => 1,
    // 指定从服务器序号
    'slave_no'        => '',
    // 自动读取主库数据
    'read_master'     => false,
    // 是否严格检查字段是否存在
    'fields_strict'   => true,
    // 数据集返回类型
    'resultset_type'  => 'array',
    // 自动写入时间戳字段
    'auto_timestamp'  => false,
    // 时间字段取出后的默认时间格式
    'datetime_format' => 'Y-m-d H:i:s',
    // 是否需要进行SQL性能分析
    'sql_explain'     => false,
    // Builder类
    'builder'         => '',
    // Query类
    'query'           => '\\think\\db\\Query',
    // 是否需要断线重连
    'break_reconnect' => false,
    // 断线标识字符串
    'break_match_str' => [],
    'mongodb'=>[
        // 数据库类型
        'type'        => '\think\mongo\Connection',
        // 数据库连接DSN配置
        'query'         => '\think\mongo\Query',
        // 服务器地址
        'hostname'    => '127.0.0.1',
        // 数据库名
        'database'    => 'local',
        // 数据库用户名
        'username'    => '',
        // 数据库密码
        'password'    => '',
    ]
];

存入数据

Db::connect('mongodb')->table('admin')->insertGetId(['name'=>'admin','password'=>'123654987']);

读取数据

$res = Db::connect('mongodb')
->table('admin')
->select();
var_dump($res);

读取效果

array (size=8)
  0 => 
    array (size=3)
      '_id' => 
        object(MongoDB\BSON\ObjectId)[42]
          public 'oid' => string '651ec2a8d45b0000c0003191' (length=24)
      'name' => string 'admin' (length=5)
      'password' => string '123654987' (length=9)
  1 => 
    array (size=3)
      '_id' => 
        object(MongoDB\BSON\ObjectId)[43]
          public 'oid' => string '651ec423d45b0000c0003193' (length=24)
      'name' => string 'admin' (length=5)
      'password' => string '123654987' (length=9)
  2 => 
    array (size=3)
      '_id' => 
        object(MongoDB\BSON\ObjectId)[44]
          public 'oid' => string '651ec50ed45b0000c0003194' (length=24)
      'name' => string 'admin' (length=5)
      'password' => string '123654987' (length=9)
  3 => 
    array (size=3)
      '_id' => 
        object(MongoDB\BSON\ObjectId)[45]
          public 'oid' => string '651ec57cd45b0000c0003195' (length=24)
      'name' => string 'admin' (length=5)
      'password' => string '123654987' (length=9)
  4 => 
    array (size=3)
      '_id' => 
        object(MongoDB\BSON\ObjectId)[46]
          public 'oid' => string '651ec585d45b0000c0003196' (length=24)
      'name' => string 'admin' (length=5)
      'password' => string '123654987' (length=9)
  5 => 
    array (size=3)
      '_id' => 
        object(MongoDB\BSON\ObjectId)[47]
          public 'oid' => string '651ec586d45b0000c0003197' (length=24)
      'name' => string 'admin' (length=5)
      'password' => string '123654987' (length=9)
  6 => 
    array (size=3)
      '_id' => 
        object(MongoDB\BSON\ObjectId)[48]
          public 'oid' => string '651ec58bd45b0000c0003198' (length=24)
      'name' => string 'admin' (length=5)
      'password' => string '123654987' (length=9)
  7 => 
    array (size=3)
      '_id' => 
        object(MongoDB\BSON\ObjectId)[49]
          public 'oid' => string '651ec594d80c000028001f91' (length=24)
      'name' => string 'admin' (length=5)
      'password' => string '123654987' (length=9)

读取效果

thinkphp5.1-MongoDB

转载注明:

0 条评论

还没有人发表评论

发表评论 取消回复

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