TP5使用mongodb扩展

本文介绍如何在ThinkPHP5.0框架中集成MongoDB数据库,包括安装官方扩展、配置数据库连接及示例代码,展示如何进行数据查询和模型操作。

ThinkPHP 5.0 MongoDb驱动

首先安装官方的mongodb扩展:

http://pecl.php.net/package/mongodb

找到对应的php版本的扩展

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


'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,

转载于:https://www.cnblogs.com/wepe/p/7424471.html

### ThinkPHP6与MongoDB集成教程 #### 安装依赖包 为了使ThinkPHP6能够连接并操作MongoDB,在项目根目录下执行Composer命令安装`mongodb/mongodb`扩展库以及`topthink/think-mongo`驱动程序[^1]。 ```bash composer require mongodb/mongodb topthink/think-mongo ``` #### 配置数据库连接 编辑应用配置文件`config/database.php`,添加如下所示的MongoDB设置部分: ```php return [ // ... 'connections' => [ // ... 'mongo' => [ 'type' => 'mongo', 'hostname' => env('MONGO_HOST', 'localhost'), 'hostport' => env('MONGO_PORT', 27017), 'database' => env('MONGO_DATABASE', ''), 'username' => env('MONGO_USERNAME', ''), 'password' => env('MONGO_PASSWORD', ''), 'auth_source' => '', 'options' => [], 'commands' => [] ], ] ]; ``` 此段代码定义了一个名为`mongo`的新连接实例,并指定了必要的参数以便于后续的数据交互操作。 #### 创建模型类 创建一个新的Model继承自`\app\common\model\Model`或直接使用框架自带的基础模型类。对于MongoDB而言,建议采用官方提供的ODM(Object Document Mapper),即通过引入第三方组件如`doctrine/odm`来简化对象映射过程;不过这里仅展示基础用法示例。 ```php namespace app\index\model; use think\Model; use Closure; class User extends Model { protected $connection = 'mongo'; } ``` 上述代码片段展示了如何指定当前模型所使用数据库连接名称为之前配置中的`mongo`。 #### 执行查询语句 利用链式调用来构建复杂的查询表达式,支持多种条件组合方式,例如逻辑运算符(`$and`, `$or`)、比较运算符(`$gt`, `$lt`)等特殊字段匹配规则($regex正则)。 ```php $userList = User::where(function(Closure $query){ $query->where(['age'=>['$gte'=>18, '$lte'=>30]]) ->whereOr(['name'=>'John Doe']); })->select(); foreach ($userList as $item) { echo $item['name'] . "\n"; } ``` 这段脚本实现了年龄介于18至30岁之间或者名字叫"John Doe"的所有用户的检索功能。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值