thinkphp5操作MongoDB教程

今天想用tp5来做mongodb,但是查找各种教程各种连上不,最后看到thinkphp官网有介绍怎么连接mogodb,但是使用官方提示的下面方法还是不行

composer require topthink/think-mongo=1.*

先安装1.*的扩展驱动,对了php连接mongodb的扩展也不要忘记装了,那个我现在这里暂时不做过多讲解,windows上比较简单,这里咱们还是继续随着官方走,然后修改database.php文件

将type参数改为下面这样

'type'  =>  '\think\mongo\Connection',

接下来可以使用Db类直接操作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,

这么操作下来还是报错

最后在下面的回复找到正确解决方案了

下载:https://github.com/top-think/think-mongo

以上解压覆盖到\vendor\topthink\think-mongo,然后

然后,配置应用的数据库配置文件database.phptype参数和query参数为:

'type'   =>  '\think\mongo\Connection',
'query'  =>  '\think\mongo\Query',

即可正常使用MongoDb,例如:

Db::name('demo')
    ->find();
Db::name('demo')
    ->field('id,name')
    ->limit(10)
    ->order('id','desc')
    ->select();

果然好了。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/542.html

我要评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。