ericsnguyen / micromongo
description
v1.0.3
2020-10-19 09:52 UTC
Requires
- php: ^7.4
- ext-mongodb: ^1.5
- doctrine/annotations: ^1.10
- netresearch/jsonmapper: ^3.1
This package is auto-updated.
Last update: 2025-03-19 19:09:31 UTC
README
small object document mapper.
Usage
At your endpoint
list($mongo, $database) = ApplicationDbContext::initialDbConnection(); // binding it to DI container to reuse SimpleDi::bindingInstance(Database::class,$database); SimpleDi::bindingInstance(Client::class, $mongo);
Define Entity
class ARandomEntity extends BaseEntity { /** * if you want to igrnore this field, * just put @\MicroOdm\Annotations\UnPersist() to it * @UnPersist * @var array */ private array $domainEvents = []; protected ?int $iid; // for multi domain protected ?string $dmn; protected ?string $school; protected ?User $u; // for the nest object, must define full namespace // we will upgrade in next version /** * @return \Uni\Domains\Share\ObjectValues\User|null */ public function getU(): ?User { return $this->u; } /** * @param \Uni\Domains\Share\ObjectValues\User|null $u */ public function setU(?User $u): void { $this->u = $u; } }
Get the Repository to interact with Db
// at repository class CreditRepository extends BaseEntityRepository { public function __construct(Database $database) { // the entity class $entityClass = Credit::class; parent::__construct($entityClass, $database); } }