首页 > thinkphp操作mongodb的问题

thinkphp操作mongodb的问题

框架里面已经把mongodb数据库连接配置好了,具体怎么实现CURD的操作,如下是我的操作

$model = M('category');
// $model = D('category');

/** 查询 */
$result = $model->where($where)->select();

我的想法是和框架自带的方法能和操作mysql那样一样操作,但是发现这样行不通,老是说我的M方法事例化有问题。但是我的mongodb里面确确实实存在category的。求解


不知道我这个方法能不能解决你的问题。我之前也遇到这样的问题用M方法出错,具体错误我忘记了可能和你的不太一样,我是用了D方法和操作mysql一样没问题,不过用D方法需要注意,在model文件里面定义好对应的类就可以了。例如

<?php
/**
 * Description: MongoDB操作
 * Author: yangxiangming@live.com
 * Date: 2015/9/9
 * Time: 13:35
 */

namespace Bbsapi\Model;
use Think\Model\MongoModel;

class ExampleModel extends MongoModel {

}

调用操作如下

<?php
/**
 * Description: MongoDB操作
 * Author: yangxiangming@live.com
 * Date: 2015/9/9
 * Time: 13:51
 */

namespace \Controller;
use Think\Model\ExampleModel;
class ExampleController extends ExampleModel{

    public function example(){
        $where['_id'] = '54dd9116e4b061818991ac7d';
        $model = D('Example');

        /** 查询 */
        $result = $model->where($where)->select();

        /** 添加 */
        $data['name'] = 'Example';
        ……
        $model->add($data);

        /** 更新 */
        $data['name'] = 'ExampleTmp';
        ……
        $model->where($where)->save($data);

        /** 删除 */
        $model->where($where)->delete();
    }
}

参考链接

【热门文章】
【热门文章】