PHPackages                             since/mongo - 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. since/mongo

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

since/mongo
===========

PHP MongoDB

v1.0.0(2y ago)07MITPHPPHP &gt;=7.1

Since Sep 8Pushed 2y ago1 watchersCompare

[ Source](https://github.com/zhan11400/mongo)[ Packagist](https://packagist.org/packages/since/mongo)[ RSS](/packages/since-mongo/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

#### mongoDB

[](#mongodb)

仿照thinkphp6的方式来封装使用mongoDB

> table 设置要操作的集合，对于MySQL来说就是表 where 设置筛选条件，参数必须是二维数据 field 要查询的字段，多字段时用英文逗号分隔 limit 查询数量 page 翻页 select 返回二维数组 find 返回一维数组 group 分组 having 筛选分组，用group时才有效果 project 要输出的字段，用group时才有效果 count 返回数量 dec 减少，数字才能用 inc 增加，数字才能用 sort 排序，数组形式 order 也是排序，字符串形式 insert 插入数据一条或多条 insertAll 查询多条数据

\####安装

```
composer require since/mongo
```

\####使用示例

```
use since\mongo;
```

1. 初始化

```
  $mongo=new MongoDB();
 //可以自定义参数
  $config = [
        'host' => '127.0.0.1',
        "port" => 27017,
        "username" => "",
        "password" => "",
        "database" => "test"
    ]
    $mongo=new MongoDB($config);
```

2. 增

```
  //新增一条
 $document = array(
                "name" => "John",
                "age" => 16,
                "sex" => 1
            );
  $mongo->table("user")->insert($document);
 //新增多条
            $document = [
                array(
                    "name" => "john",
                    "age" => 16,
                    "sex" => 1
                ),array(
                    "name" => "tom",
                    "age" => 18,
                    "sex" => 1
                ),array(
                    "name" => "lucy",
                    "age" => 18,
                    "sex" => 2
                )];
        $res=$mod->table("user")->insertAll($document);
   //或者
   $res=$mod->table("user")->insert($document,true);

```

3. 删

```
//整个表删除数据
$where=[
                ["name","=","john"],
            ];
            //where参数是二维数组
          $res=$mongo->table("user")->where($where)->delete();

```

4. 改

```
           $where=[
                ["name","=","tom"],
            ];
            //直接修改年龄
            $res=$mongo->table("user")->where($where)->update(["age"=>20]);
            $where=[
                ["name","=","lucy"],
            ];
            //年龄+1
            $res=$mongo->table("user")->where($where)->inc("age");
            //年龄+5
            $res=$mongo->table("user")->where($where)->inc("age",5);

            $where=[
                ["name","=","John"],
            ];
            //年龄-1
            $res=$mongo->table("user")->where($where)->dec("age");
            //年龄-5
            $res=$mongo->table("user")->where($where)->dec("age",5);

```

5. 查

```
            //查询一条数据
            $res=$mongo->table("user")->field("name")->where($where)->find();
            //查询多条数据
            $res=$mongo->table("user")->where($where)->select();
            //查询10条数据
            $res=$mongo->table("user")->where($where)->limit(10)->select();
            //查询翻页的数据，例如第二页，每页10条数据
            $res=$mongo->table("user")->where($where)->page(2,10)->select();
            //查询根据性别分组
            $group=[
                'sumAge' => ['$sum' => '$age'], // 聚合字段，计算每个分组中平均年龄
                'avgAge' => ['$avg' => '$age'], // 聚合字段，计算每个分组中平均年龄
            ];
            $having=[
                'avgAge' => ['$gte' => 15], // 传递两个参数给$gte运算符
            ];
            $project=[
                'name' => '$_id',
                'sumAge' => 1,
                'avgAge' => 1,
            ];
            $res=$mongo->table("user")
                ->group("sex",$group) //根据性别分组
                ->having($having) //查平均年龄大于15岁 可不用
                ->project($project) //需要输出的字段，可不用
                ->select();

            //查询数量
            $res=$mongo->table("user")->where($where)->count();

```

###  Health Score

18

—

LowBetter than 8% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity38

Early-stage or recently created project

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

983d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/41a6543979942d685e7df398addd15acf91e076b44b5539a2d6092dd1df42697?d=identicon)[zhan11400](/maintainers/zhan11400)

### Embed Badge

![Health badge](/badges/since-mongo/health.svg)

```
[![Health](https://phpackages.com/badges/since-mongo/health.svg)](https://phpackages.com/packages/since-mongo)
```

###  Alternatives

[doctrine/orm

Object-Relational-Mapper for PHP

10.2k285.3M6.2k](/packages/doctrine-orm)[jdorn/sql-formatter

a PHP SQL highlighting library

3.9k115.1M102](/packages/jdorn-sql-formatter)[illuminate/database

The Illuminate Database package.

2.8k52.4M9.4k](/packages/illuminate-database)[ramsey/uuid-doctrine

Use ramsey/uuid as a Doctrine field type.

90440.3M211](/packages/ramsey-uuid-doctrine)[reliese/laravel

Reliese Components for Laravel Framework code generation.

1.7k3.4M16](/packages/reliese-laravel)[wildside/userstamps

Laravel Userstamps provides an Eloquent trait which automatically maintains `created\_by` and `updated\_by` columns on your model, populated by the currently authenticated user in your application.

7511.7M13](/packages/wildside-userstamps)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
