首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TP5(thinkPHP5)框架mongodb扩展安装及特殊操作示例

TP5(thinkPHP5)框架mongodb扩展安装及特殊操作示例

作者头像
用户2323866
修改2021-07-13 11:37:26
9140
修改2021-07-13 11:37:26
举报
文章被收录于专栏:技术派技术派

本文实例讲述了TP5(thinkPHP5)框架mongodb扩展安装及特殊操作。分享给大家供大家参考,具体如下:

ThinkPHP 5.0 MongoDb驱动

首先安装官方的mongodb扩展:

找到对应的php版本的扩展

然后,配置应用的数据库配置文件database.php的type参数为:

'type' => 'thinkmongoConnection',

即可正常使用MongoDb,例如:

使用最新mongodb扩展

Db::name('demo')

->find();

Db::name('demo')

->field('id,name')

->limit(10)

->order('id','desc')

->select();

或者使用模型操作:

User::get(1);

User::all('1,2,3');

MongoDb默认的主键是_id并且是一个ObjectID对象,如果需要和mysql一样使用id作为主键,可以如下参数:

// 强制把_id转换为id

'pk_convert_id' => true,

tp5 Mongodb特殊操作

Push操作

添加数据

public function add(){

$this->data = [

'作者' => 'tuzi',

'年龄' => '22',

'标题' => '防塔与补兵',

'评论' => [

[

'序号' =&g/

/t; '001',

'内容' => '五杀'

]

]

];

$res = Db::table('document')->insert($this->data);

if($res){

echo "success";

}else{

echo "error";

}

}

结果

array(1) {

  [0] => array(5) {

    ["_id"] => object(MongoDBBSONObjectId)#12 (1) {

      ["oid"] => string(24) "5a51f73083869e4b65549c36"

    }

    ["作者"] => string(4) "tuzi"

    ["年龄"] => string(2) "22"

    ["标题"] => string(15) "防塔与补兵"

    ["评论"] => array(1) {

      [0] => array(2) {

        ["序号"] => string(3) "001"

        ["内容"] => string(6) "五杀"

      }

    }

  }

}

利用push更新数据

public function update()

{

$update_data['评论'/

/] = [

'$push',

[

'序号' => '002',

'内容' => '三杀'

]

];

$update_res = Db::table('document')->where('标题','防塔与补兵')->update($update_data);

if($update_res){

echo "success";

}else{

echo "error";

}

}

结果

array(1) {

  [0] => array(5) {

    ["_id"] => object(MongoDBBSONObjectId)#12 (1) {

      ["oid"] => string(24) "5a51f73083869e4b65549c36"

    }

    ["作者"] => string(4) "tuzi"

    ["年龄"] => string(2) "22"

    ["标题"] => string(15) "防塔与补兵"

    ["评论"] => array(2) {

      [0] => array(2) {

        ["序号"] => string(3) "001"

        ["内容"] => string(6) "五杀"

      }

      [1] => array(2) {

        ["序号"] => string(3) "002"

        ["内容"] => string(6) "三杀"

      }

    }

  }

}

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MongoDB
腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档