mongodb/symfony-bundle
Official Symfony bundle for MongoDB that integrates clients and collections with Symfony's dependency injection container, supports autowiring and multiple connections, and adds configuration, profiling, and logging hooks to reduce boilerplate when using MongoDB in Symfony applications.
mongodb/symfony-bundle, from mongodb-labs). The first PM decision it supports is a rejection decision for Laravel teams — the equivalent to evaluate there is mongodb/laravel-mongodb, not this. It only becomes actionable if the service in question is built on Symfony.ext-mongodb driver into the DI container, (b) adopt Doctrine MongoDB ODM (mature, mapping/relations/validation, heavy), or (c) this bundle — a thin, lightweight integration with no ODM layer. This package is the "buy a little, own the rest" option: it removes boilerplate, not modelling work.ext-mongodb 2.0 can now use this bundle rather than falling back to hand-rolled wiring or staying on the 1.x driver. It also sharpens the pinning discussion — the bundle's usable version is now coupled to our driver major, so a driver upgrade is a bundle upgrade, and vice versa.Consider it when:
ext-mongodb 2.0; 0.3.1 is the first version that makes this combination viable, so this release is the trigger to re-evaluate a previously deferred pilot.Look elsewhere when:
mongodb/laravel-mongodb; this bundle is not applicable.ext-mongodb minor before committing.One-liner: An experimental MongoDB Labs bundle that gives Symfony apps a thin, low-ceremony path to MongoDB — now compatible with MongoDB Driver 2.0, and genuinely useful for prototypes and peripheral services, not a platform commitment.
For executives: Treat this as a low-cost option, not a dependency. License cost is zero (Apache-2.0), integration surface is small, and the abstraction is thin enough that walking away is cheap — which is precisely why the risk is bounded. The 0.3.1 release is a maintenance patch, not a feature release: it keeps the bundle current with MongoDB Driver 2.0, which removes a blocking constraint on the pilot but does not change its maturity profile. Single-digit stars, no downstream dependents, and an explicit "experimental" label still mean no support contract and no guarantee of continuity. Recommendation stands: fund a timeboxed pilot on a non-critical workload, with a pre-agreed fallback (Doctrine MongoDB ODM, or native driver wiring) and a defined go/no-go date. Do not standardize on it across teams.
For engineering: It is DI glue over ext-mongodb, deliberately without an ODM. You keep full control of documents and query construction, and you own the persistence patterns — no mapping magic, no hidden lifecycle. 0.3.1 buys us Driver 2.0 compatibility, so the pilot can run on the current driver instead of pinning to 1.x; verify against our Symfony version and our exact ext-mongodb minor, and pin both bundle and driver together. The change is one upstream PR, so read it before trusting it in a spike. Assign an owner who can maintain a fork if upstream goes quiet. If the team's actual need is mapping, relations, and validation, stop here and use Doctrine ODM instead; if the app is Laravel, this is the wrong package entirely.
Decision requested: Re-validate the bounded pilot (one service, one sprint, one owner) now that Driver 2.0 is supported — still an experiment, not an architecture endorsement. Note that the low opportunity signal is unchanged; we are exploring, not adopting.
How can I help you explore Laravel packages today?