segakgd/mongo_repository
最新稳定版本:1.0.0
Composer 安装命令:
composer require segakgd/mongo_repository
包简介
Simple MongoDB repository manager
关键字:
README 文档
README
Пакет добавляет обёртку в виде репозиториев и моделей, для работы с mongo data base. В основе лежит стандартный пакет для mongodb (https://github.com/mongodb/mongo-php-library)
Установка
composer require segakgd/mongo_repository
Пример использования
Описываем UserModel
class UserModel extends AbstractMongoModel { #[MongoField] public string $name; #[MongoField] public int $companyId; public static function getCollectionName(): string { return 'user'; } }
Описываем репозиторий для модели UserModel
<?php use Segakgd\MongoRepository\AbstractMongoModel; use Segakgd\MongoRepository\AbstractMongoRepository; use Segakgd\MongoRepository\Attributes\MongoField; use Segakgd\MongoRepository\MongoCollectionManager; /** * @method UserModel|null find(string $oid) * @method array<UserModel> findAll() * @method array<UserModel> findBy(array $criteria = [], array $options = []) * @method UserModel|null findOneBy(array $criteria = [], array $options = []) * @method int count(array $criteria = []) * @method UserModel create(UserModel $model) * @method UserModel update(UserModel $model) * @method void delete(UserModel $model) */ class UserRepository extends AbstractMongoRepository { public function __construct(MongoCollectionManager $manager) { parent::__construct($manager, UserModel::class); } }
Используем
$connection = new MongoCollectionManager( 'mongodb://root:password@localhost:27017', // подключение 'mongo_db' // название базы ); $repository = new UserRepository($connection); $companyId = 999; $data = $repository->findOneBy(['companyId' => $companyId]); var_dump($data->toData());
Подключение в Symfony
Segakgd\MongoRepository\MongoCollectionManager: arguments: $uri: '%env(MONGODB_URL)%' $database: '%env(MONGODB_DB)%'
统计信息
- 总下载量: 4
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-08-26