Download the PHP package phpdot/mongodb without Composer
On this page you can find all versions of the php package phpdot/mongodb. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package mongodb
phpdot/mongodb
A resilient MongoDB client built on the official mongodb/mongodb
library and ext-mongodb. It adds fluent CRUD builders, a Document object over raw BSON, a typed
exception hierarchy translated from driver errors, optional query logging, and a connector so
phpdot/pool can hold and recycle connections.
Table of Contents
- Requirements
- Installation
- Usage
- Architecture
- Testing
- License
Requirements
| Requirement | Constraint |
|---|---|
| PHP | >= 8.5 |
ext-mongodb |
^1.19 \|\| ^2.1 |
mongodb/mongodb |
^1.19 \|\| ^2.1 |
phpdot/contracts |
^0.2 |
phpdot/container is a dev-only suggestion — the #[Config('mongodb')] attribute on MongoConfig is
inert until a phpdot application reflects it.
The ^1.19 pairing is deliberate, not legacy drift: ext-mongodb 1.19.x is the last driver
generation that speaks wire protocol 6 (MongoDB 3.6), so it is the only way to reach 3.6
servers from modern PHP. Every API here works on both pairings, with one nuance:
Collection::aggregate() accepts MongoDB\Builder\Pipeline objects only on the 2.x
pairing — array pipelines work on both. The monorepo develops and tests against 2.x.
Installation
Usage
Connecting and CRUD
Fluent queries
Find, update, and delete each have a fluent builder:
Documents
findOne() and cursors yield Document objects — field access, dot-path reads, type conversions, and
ArrayAccess/JsonSerializable, over the raw BSON the driver returns.
Resilience and exceptions
connect() retries with exponential backoff up to maxRetries. Driver errors are translated into a
typed hierarchy — AuthenticationException, ConnectionException, TimeoutException,
DuplicateKeyException, BulkWriteException, ValidationException, and more — all extending the
package's MongoException.
Pooling
MongoConnector adapts a MongoConnection to phpdot/pool's ConnectorInterface, so a pool can build,
health-check, and recycle connections — one connection per coroutine.
Architecture
MongoConnection owns a MongoDB\Client and drives its lifecycle (backoff connect, ping, exception
translation). Database and Collection expose the fluent API; the query builders compile to the
options the underlying library accepts. MongoConnector bridges to phpdot/pool.
Testing
The unit suite runs with no server. The integration suite connects to a MongoDB at 127.0.0.1:27017
and skips automatically when none is reachable.
License
MIT.
This repository is a read-only mirror, generated by CI from phpdot/monorepo. Pull requests and issues belong in the monorepo.
All versions of mongodb with dependencies
ext-mongodb Version ^1.19 || ^2.1
mongodb/mongodb Version ^1.19 || ^2.1
phpdot/contracts Version ^0.3