swoole-app / swoole-app-mongo-connection
Package representing asynchronous wrapper over Swoole Task for MongoDB driver for PHP
Requires
- ext-mongodb: *
- mongodb/mongodb: ^1.19
- oittaa/uuid: ^1.10
- sidalex/swoole-app: ^0.2.1
Requires (Dev)
- phpstan/phpstan: ^1.11
This package is not auto-updated.
Last update: 2025-03-10 17:55:00 UTC
README
Поддержать проект
https://yoomoney.ru/to/410013242088802
Overview
The Swoole MongoDB Package for 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
- 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
To install the package, use Composer:
composer require swooleapp/swoole-mongo-connection
Getting Started
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
Initializing the MongoDB Connection
тут будет описание как настраивается подключениие для Пула коннекшенов и для статической инициализации
Performing CRUD Operations (статические операции с встроеной инициализацией)
You can perform CRUD operations using the MongoDBWrapper class. Here’s an example of inserting a document:
Performing CRUD Operations (использование Пула подключений)
здесь будет описаниие использовния пула подключений
Usage without SwooleApp
Initializing the MongoDB Connection
тут будет описание как настраивается подключениие для Пула коннекшенов и для статической инициализации
Performing CRUD Operations (статические операции с встроеной инициализацией)
You can perform CRUD operations using the MongoDBWrapper class. Here’s an example of inserting a document:
Performing CRUD Operations (использование Пула подключений)
Contributing
Contributions are welcome! Please fork the repository and submit a pull request for any improvements or bug fixes.
License
This package is open-sourced software licensed under the MIT license.
Обзор
Пакет Swoole MongoDB для SwooleApp обеспечивает асинхронный клиент для MongoDB со Swoole framework, позволяя разработчикам использовать возможности асинхронного программирования при взаимодействии с базами данных MongoDB.
Особенности
- Асинхронные операции с базами данных: Выполнение неблокирующих CRUD-операций с MongoDB.
- ** Объединение подключений**: Эффективное управление несколькими подключениями к базе данных.
- Гибкая настройка: Простая настройка параметров подключения для различных сред.
- Поддержка UUID: Автоматическое создание UUID для идентификаторов документов.
- Пакетная обработка: Вставка и удаление нескольких документов за одну операцию.
- Стратегия подключения к базе: Использование коннекшен пула или создание отдельного подключения для каждого запроса.
Установка
Чтобы установить пакет, используйте Composer:
composer require swooleapp/swoole-mongo-connection
Начало работы
Настройка
Для подключения и использования базы данных требуется инициализация пакета 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 - массив объектов настройки подключений различных пуллов подключений.
Использование с помощью SwooleApp
Инициализация соединения с MongoDB
тут будет описание как настраивается подключениие для Пула коннекшенов и для статической инициализации
Выполнение CRUD-операций (статические операции со встроенной инженерией)
Вы можете выполнять CRUD-операции, используя класс MongoDBWrapper. Вот пример вставки документа:
Выполнение CRUD-операций (использование для добавления)
здесь будет описаниие использовния пула подключений
Использование без SwooleApp
Инициализация соединения с MongoDB
тут будет описание как настраивается подключениие для Пула коннекшенов и для статической инициализации
Выполнение CRUD-операций (статические операции со встроенной инженерией)
Вы можете выполнять CRUD-операции, используя класс MongoDBWrapper. Вот пример вставки документа:
Выполнение CRUD-операций (использование для добавления)
Внесение вклада
Приветствуется внесение вклада! Пожалуйста, запустите репозиторий и отправьте запрос на обновление для любых улучшений или исправлений ошибок.
Лицензия
Данный пакет представляет собой программное обеспечение с открытым исходным кодом, лицензируемое по лицензии MIT.