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

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

ThinkPHP 5.0 MongoDb驱动

首先安装官方的mongodb扩展:

http://pecl.php.com/package/mongodb

找到对应的php版本的扩展

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

'type' => '\think\mongo\Connection',

即可正常使用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',

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

'评论' => [

[

'序号' => '001',

'内容' => '五杀'

]

]

];

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

if($res){

echo "success";

}else{

echo "error";

}

}

结果

array(1) {

[0] => array(5) {

["_id"] => object(MongoDB\BSON\ObjectId)#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(MongoDB\BSON\ObjectId)#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相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

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

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值