PHPackages                             bvtvd/mongo-db - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. bvtvd/mongo-db

ActiveLibrary[Database &amp; ORM](/categories/database)

bvtvd/mongo-db
==============

v2.0.2(5y ago)07MITPHPPHP &gt;=7.2

Since Dec 23Pushed 5y agoCompare

[ Source](https://github.com/bvtvd/mongo-db)[ Packagist](https://packagist.org/packages/bvtvd/mongo-db)[ RSS](/packages/bvtvd-mongo-db/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (11)Versions (44)Used By (0)

### 默认使用mongodb提供的库来封装,官方git地址：

[](#默认使用mongodb提供的库来封装官方git地址httpsgithubcommongodbmongo-php-library)

#### 1、支持类似mysql orm的一些操作

[](#1支持类似mysql-orm的一些操作)

#### 2、支持迁移文件

[](#2支持迁移文件)

#### 3、只支持hyperf框架，由于swoole协程不支持mongodb，所以所有的方法都采用task进程来实现，该包已经封装好所有的方法都会投递到task进程进行操作，task进程建议开启多一点

[](#3只支持hyperf框架由于swoole协程不支持mongodb所以所有的方法都采用task进程来实现该包已经封装好所有的方法都会投递到task进程进行操作task进程建议开启多一点)

#### 4、该包默认使用了连接池

[](#4该包默认使用了连接池)

### 注意：

[](#注意)

1、v1.0+版本只会维护不增加功能
2、开启v2.0分支，跟1.0有很大区别，因为hyperf采用了laravel的orm，所以我会参考laravel-mongodb来封装
3、使用v1.0+时，如果你开一百多个task进程处理，你的宿主机内存不大时，并发请求多，导致内存没有被释放，这时候你的宿主机可能会down机，所以建议开启swoole的task配置，task\_max\_request=2，这个配置的意思是task进程处理两次请求后会自动kill这个task进程，重新拉起一个新的task进程，这样就不会导致你的宿主机内存过大而导致服务器down机

v1.0+有个大bug，目前无法解决，实际是目前操作mongodb都没有丢到task处理，需要hyperf2.0才能解决，具体情况这个issue\[[hyperf/hyperf#1798](https://github.com/hyperf/hyperf/issues/1798)\]

这个bug目前我们在项目中如何解决，有两种方法：
1、在model里面新增一个getMethod方法,这个方法申请要丢到task处理

```
