PHPackages                             swoole-app/swoole-app-mongo-connection - 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. swoole-app/swoole-app-mongo-connection

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

swoole-app/swoole-app-mongo-connection
======================================

Package representing asynchronous wrapper over Swoole Task for MongoDB driver for PHP

03[2 issues](https://github.com/SwooleApp/SwooleAppMongoConnection/issues)PHP

Since Nov 6Pushed 10mo ago1 watchersCompare

[ Source](https://github.com/SwooleApp/SwooleAppMongoConnection)[ Packagist](https://packagist.org/packages/swoole-app/swoole-app-mongo-connection)[ RSS](/packages/swoole-app-swoole-app-mongo-connection/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

Swoole MongoDB Package
======================

[](#swoole-mongodb-package)

[en](#overview) | [ru](#%D0%BE%D0%B1%D0%B7%D0%BE%D1%80)

Поддержать проект

Overview
--------

[](#overview)

The **Swoole MongoDB Package for [SwooleApp](https://github.com/SwooleApp/SwooleApp)** provides a seamless integration of MongoDB with the Swoole framework, enabling developers to leverage the power of asynchronous programming while interacting with MongoDB databases. This package is designed for high-performance applications that require efficient database operations.

Features
--------

[](#features)

- **Asynchronous Database Operations**: Perform non-blocking CRUD operations with MongoDB.
- **Connection Pooling**: Efficiently manage multiple database connections.
- **Flexible Configuration**: Easily configure connection settings for different environments.
- **Support for UUIDs**: Automatically generate UUIDs for document identifiers.
- **Batch Processing**: Insert and delete multiple documents in a single operation.

Installation
------------

[](#installation)

To install the package, use Composer:

```
composer require swooleapp/swoole-mongo-connection
```

Getting Started
---------------

[](#getting-started)

### Configuration

[](#configuration)

Before using the package, you need to configure your MongoDB connection settings. Create a configuration file (e.g., mongo\_config.php) with the following structure:

```
config example
```

Usage with [SwooleApp](https://github.com/SwooleApp/SwooleApp)
--------------------------------------------------------------

[](#usage--with--swooleapp)

### Initializing the MongoDB Connection

[](#initializing-the-mongodb-connection)

тут будет описание как настраивается подключениие для Пула коннекшенов и для статической инициализации

### Performing CRUD Operations (статические операции с встроеной инициализацией)

[](#performing-crud-operations-статические-операции-с-встроеной-инициализацией)

You can perform CRUD operations using the MongoDBWrapper class. Here’s an example of inserting a document:

### Performing CRUD Operations (использование Пула подключений)

[](#performing-crud-operations-использование-пула-подключений)

здесь будет описаниие использовния пула подключений

Usage without [SwooleApp](https://github.com/SwooleApp/SwooleApp)
-----------------------------------------------------------------

[](#usage--without-swooleapp)

### Initializing the MongoDB Connection

[](#initializing-the-mongodb-connection-1)

тут будет описание как настраивается подключениие для Пула коннекшенов и для статической инициализации

### Performing CRUD Operations (статические операции с встроеной инициализацией)

[](#performing-crud-operations-статические-операции-с-встроеной-инициализацией-1)

You can perform CRUD operations using the MongoDBWrapper class. Here’s an example of inserting a document:

### Performing CRUD Operations (использование Пула подключений)

[](#performing-crud-operations-использование-пула-подключений-1)

Contributing
------------

[](#contributing)

Contributions are welcome! Please fork the repository and submit a pull request for any improvements or bug fixes.

License
-------

[](#license)

This package is open-sourced software licensed under the MIT license.

Обзор
-----

[](#обзор)

Пакет **Swoole MongoDB для [SwooleApp](https://github.com/SwooleApp/SwooleApp)**обеспечивает асинхронный клиент для MongoDB со Swoole framework, позволяя разработчикам использовать возможности асинхронного программирования при взаимодействии с базами данных MongoDB.

Особенности
-----------

[](#особенности)

- **Асинхронные операции с базами данных**: Выполнение неблокирующих CRUD-операций с MongoDB.
- \*\* Объединение подключений\*\*: Эффективное управление несколькими подключениями к базе данных.
- **Гибкая настройка**: Простая настройка параметров подключения для различных сред.
- **Поддержка UUID**: Автоматическое создание UUID для идентификаторов документов.
- **Пакетная обработка**: Вставка и удаление нескольких документов за одну операцию.
- **Стратегия подключения к базе**: Использование коннекшен пула или создание отдельного подключения для каждого запроса.

Установка
---------

[](#установка)

Чтобы установить пакет, используйте Composer:

```
composer require swooleapp/swoole-mongo-connection
```

Начало работы
-------------

[](#начало-работы)

### Настройка

[](#настройка)

Для подключения и использования базы данных требуется инициализация пакета [SwooleApp](https://github.com/SwooleApp/SwooleApp) микро-фреймворк для организации REST API сервисов на Swoole.

Перед использованием пакета вам необходимо настроить параметры подключения к MongoDB. Для этого требуется добавить в конфигурационный json файл следующие ключи.

```
{
  "mongoDB": {
    "typeConnection": "pool|staticInit",
    "pool": [
      {
        "container_key": "имя для стейт контейнера",
        "host": "mongo",
        "port": "27017",
        "db_name": "test",
        "username": "root",
        "password": "rootpassword",
        "connection_count": 20
      }
    ],
    "staticConnections": {
      "ConnectionKey1": {
        "host": "mongo",
        "port": "27017",
        "db_name": "test",
        "username": "root",
        "password": "rootpassword",
      }
    },
    "connectionCredential": {
      "host": "mongo",
      "port": "27017",
      "db_name": "test",
      "username": "root",
      "password": "rootpassword"
    }
  }
}
```

typeConnection - определяет тип подключения (Коннекшен пулл или инициализация при запросе)

pool - Массив объектов настройки подключений различных пуллов подключений.

container\_key - Имя для контейнера состояния, используемого для управления соединениями.

host - Адрес хоста, на котором запущен MongoDB (в данном случае mongo).

port - Порт, на котором доступна база данных (по умолчанию 27017).

db\_name - Имя базы данных, к которой осуществляется подключение (в данном случае test).

username - Имя пользователя для аутентификации (например, root).

password - Пароль для аутентификации (например, rootpassword).

connection\_count - Количество соединений в пуле (например, 20).

Использование с помощью [SwooleApp](https://github.com/SwooleApp/SwooleApp)
---------------------------------------------------------------------------

[](#использование-с-помощью-swooleapp)

### Инициализация соединения с MongoDB

[](#инициализация-соединения-с-mongodb)

тут будет описание как настраивается подключениие для Пула коннекшенов и для статической инициализации

### Выполнение CRUD-операций (статические операции со встроенной инженерией)

[](#выполнение-crud-операций-статические-операции-со-встроенной-инженерией)

Вы можете выполнять CRUD-операции, используя класс MongoDBWrapper. Вот пример вставки документа:

### Выполнение CRUD-операций (использование для добавления)

[](#выполнение-crud-операций-использование-для-добавления)

здесь будет описаниие использовния пула подключений

Использование без [SwooleApp](https://github.com/SwooleApp/SwooleApp)
---------------------------------------------------------------------

[](#использование-без-swooleapp)

### Инициализация соединения с MongoDB

[](#инициализация-соединения-с-mongodb-1)

тут будет описание как настраивается подключениие для Пула коннекшенов и для статической инициализации

### Выполнение CRUD-операций (статические операции со встроенной инженерией)

[](#выполнение-crud-операций-статические-операции-со-встроенной-инженерией-1)

Вы можете выполнять CRUD-операции, используя класс MongoDBWrapper. Вот пример вставки документа:

### Выполнение CRUD-операций (использование для добавления)

[](#выполнение-crud-операций-использование-для-добавления-1)

Внесение вклада
---------------

[](#внесение-вклада)

Приветствуется внесение вклада! Пожалуйста, запустите репозиторий и отправьте запрос на обновление для любых улучшений или исправлений ошибок.

Лицензия
--------

[](#лицензия)

Данный пакет представляет собой программное обеспечение с открытым исходным кодом, лицензируемое по лицензии MIT.

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance38

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity18

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/f7d7e4e0917a4542275812ee7a30c0d5b6187f68a36af83cfdba310ae7b9c1bd?d=identicon)[palach.orl](/maintainers/palach.orl)

---

Top Contributors

[![SidorkinAlex](https://avatars.githubusercontent.com/u/16462838?v=4)](https://github.com/SidorkinAlex "SidorkinAlex (44 commits)")

### Embed Badge

![Health badge](/badges/swoole-app-swoole-app-mongo-connection/health.svg)

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

###  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)[mongodb/mongodb

MongoDB driver library

1.6k64.0M546](/packages/mongodb-mongodb)[ramsey/uuid-doctrine

Use ramsey/uuid as a Doctrine field type.

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

Reliese Components for Laravel Framework code generation.

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

PHPackages © 2026

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