TP5(thinkPHP5)框架mongodb扩展安装及特殊操作示例
本文实例讲述了TP5(thinkPHP5)框架mongodb扩展安装及特殊操作。分享给大家供大家参考,具体如下:
ThinkPHP5.0MongoDb驱动
首先安装官方的mongodb扩展:
http://pecl.php.net/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,
tp5Mongodb特殊操作
Push操作
添加数据
publicfunctionadd(){ $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更新数据
publicfunctionupdate() { $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)框架进阶教程》、《ZendFrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。