本文实例讲述了TP5(thinkPHP5)框架mongodb扩展安装及特殊操作。分享给大家供大家参考,具体如下:
ThinkPHP 5.0 MongoDb驱动
首先安装官方的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,
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程序设计有所帮助。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- [发烧人声]群星《邂逅》DTS-WAV
- 艻打绿《夏/狂热(苏打绿版)》[320K/MP3][106.42MB]
- 艻打绿《夏/狂热(苏打绿版)》[FLAC分轨][574.2MB]
- 黄雨勳《魔法列车首部曲》[320K/MP3][33.1MB]
- 李蕙敏.2014-记得·销魂新歌+精丫乐意唱片】【WAV+CUE】
- 谢金燕.1995-含泪跳恰蔷冠登】【WAV+CUE】
- 于文文.2024-天蝎座【华纳】【FLAC分轨】
- 黄雨勳《魔法列车首部曲》[FLAC/分轨][173.61MB]
- 群星《歌手2024 第13期》[320K/MP3][50.09MB]
- 群星《歌手2024 第13期》[FLAC/分轨][325.93MB]
- 阿木乃《爱情买卖》DTS-ES【NRG镜像】
- 江蕾《爱是这样甜》DTS-WAV
- VA-Hair(OriginalBroadwayCastRecording)(1968)(PBTHAL24-96FLAC)
- 博主分享《美末2RE》PS5 Pro运行画面 玩家仍不买账
- 《双城之战2》超多新歌MV发布:林肯公园再次献声