关于Thinkphp5中使用MongoDb的方法,在thinkphp官方文档中已有说明,参见:https://www.kancloud.cn/manual/thinkphp5_1/354135。但是看完这篇文章后对于初次接触的小伙伴们可能还不知道如何使用。
鉴于网上已经有大量MongoDb的安装教程,这里波波捡重点说。在使用MongoDb之前,我们必须确认两个问题:
1、服务器已经安装了MongoDb;
2、PHP已经开启了mongo扩展,最新扩展下载地址:http://pecl.php.net/package/mongodb
确认了上述两点之后,接下来才是重点。
1、安装ThinkPHP mongoDb库:
- composer require topthink/think-mongo=2.0.*
2、添加数据库配置:
- 'mongo'=>[
- 'type'=> '\think\mongo\Connection',
- 'hostname'=> '127.0.0.1',
- 'database'=> 'huihuimeng',
- 'username' => '',
- 'password' => '',
- 'hostport' => '27017',
- 'charset' => 'utf8mb4',
- 'query' => '\\think\\mongo\\Query',
- ],
3、几个MongoDb的查询使用示例:
- public function mongo(){
- $mongoConf = config('mongo');
- //插入数据
- //Db::connect($mongoConf,false)->name('company_chat')->insert(['_id'=>generate_rand_str(10),'sender_id'=>1,'content'=>"hello word!",'create_time'=>time()]);
- //查询单条数据
- //Db::connect($mongoConf,false)->name('company_chat')->where(['sender_id'=>1])->find();
- //排序查询
- //Db::connect($mongoConf,false)->name('company_chat')->where(['sender_id'=>1])->order('create_time','desc')->limit(2)->select();
- //时间查询,不支持whereTime
- //Db::connect($mongoConf,false)->name('company_chat')->where(['sender_id'=>1])->where('create_time','>',1679983414)->select();
- }
更多使用方法详见ThinkPHP官方文档:https://www.kancloud.cn/manual/thinkphp5_1/354135