本文实例讲述了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"
新闻热点
疑难解答