Maison >développement back-end >tutoriel php >thinkphp操作mongodb的问题

thinkphp操作mongodb的问题

WBOY
WBOYoriginal
2016-08-10 09:07:24990parcourir

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

<code>$model = M('category');
// $model = D('category');

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

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

回复内容:

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

<code>$model = M('category');
// $model = D('category');

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

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

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

<code><?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 {

}</code></code>

调用操作如下

<code><?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();
    }
}</code>

参考链接

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn