antonchaikin / f3-mongo
Fat-Free Framework plugin for MongoDB with event hooks, soft deletes, and auto-timestamps.
Installs: 23
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/antonchaikin/f3-mongo
Requires
- php: ^7.4 || ^8.0
- bcosca/fatfree: *
- mongodb/mongodb: *
README
Метод $f3->mdb('collection') возвращает обёртку CollectionEvents с дополнительной логикой:
- автоматическое исключение soft-deleted (deleted_at)
- события insert/update
- auto timestamps (created_at,updated_at)
Метод $f3->_mdb('collection') — это прямой доступ к \MongoDB\Collection без каких-либо обработчиков или фильтрации. Используйте его для низкоуровневых операций или административных целей.
f3-mongo
Расширение для Fat-Free Framework (F3), добавляющее удобный интерфейс работы с MongoDB.
Возможности
- Упрощённый доступ к коллекциям через $f3->mdb('collection')
- Автоматическая фильтрация удалённых записей (deleted_at)
- Поддержка агрегаций, обновлений, вставок, удаления и слушателей изменений
- Обёртка CollectionEventsс логикойupdated_at,created_at,bulkWrite,insertAsyncи пр.
- Простой API: find(),findOne(),insertOne(),updateMany()и др.
Установка
composer require apptor/f3-mongo
Использование
use Lumus\mDB; /** @var \Base&\F3Mongo\MongoAwareF3 $f3 */ \F3Mongo\MongoPlugin::register([ 'host' => 'localhost', 'port' => 27017, 'username' => '', 'password' => '', 'database' => 'your_db', ]); $users = $f3->mdb('users')->find(['active' => true]);
Подключение в F3
После регистрации плагина:
\F3Mongo\MongoPlugin::register([ 'host' => 'localhost', 'port' => 27017, 'database' => 'your_db', ]);
Вы получите доступ к Mongo через $f3->mdb:
- 
$f3->mdb->collection('users')— возвращает обёрткуCollectionEventsс логикой:- автоматическое исключение soft-deleted (deleted_at)
- события insert/update(если есть слушатели)
- auto timestamps (created_at,updated_at)
- методы: find(),findOne(),updateOne(),insertOne(),aggregate()и др.
 
- автоматическое исключение soft-deleted (
- 
$f3->mdb->_collection('users')— возвращает оригинальный объект\MongoDB\Collectionбез каких-либо обработчиков.
Подсказки в IDE
Добавьте аннотацию:
/** @var \Base&\F3Mongo\MongoAwareF3 $f3 */
Поддержка
Если вы нашли баг или хотите предложить улучшение — создайте issue или pull request.