Download the PHP package julien-c/mongovel without Composer
On this page you can find all versions of the php package julien-c/mongovel. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package mongovel
Mongovel
A Laravel-ish wrapper to the PHP Mongo driver
Most MongoDB packages for Laravel insist on abstracting away the PHP driver and implementing a SQL-like, full-fledged query builder. We think the PHP driver for Mongo is great by itself and Mongo's expressiveness out-of-the-box is actually what makes it awesome.
In that spirit, Mongovel is a thin wrapper over the PHP driver that makes it more Eloquent-like:
- you'll be able to access models like objects, not arrays
- you'll get query results as Laravel Collections
- and some more syntactic sugar, like Facade-inspired static shortcuts to make the whole experience more elegant. And remember, you always keep the full power of Mongo methods, as Mongovel always proxies calls to the underlying MongoCollections and MongoCursors. We're sure you'll love it!
Usage overview
Enough talking, here's how to use Mongovel:
GET books/512ce86b98dee4a87a000000
:
Mongovel detects that $id
is a MongoId, and returns an object that will be automatically serialized and sent as JSON by Laravel.
POST books
:
What if we want to update some field on our book? Let's say we're posting a review:
POST books/512ce86b98dee4a87a000000/reviews
:
Deleting a book is as simple as:
Finally, Mongovel wraps MongoCursor results into Laravel Collections, so you can just do:
GET books
:
Bulk operations
In order to make bulk operations less painful, Mongovel implements the standard bulk interface:
How to install
Add julien-c/mongovel
as a requirement to composer.json, then run composer update
.
Add Mongovel's service provider to your Laravel application in app/config/app.php
. In the providers
array add :
Add then alias Mongovel's model class by adding its facade to the aliases
array in the same file :
Finally, add a MongoDB hash at the end of your app/config/database.php
(so, outside of connections
):
If needed (for MongoHq and the likes), you can specify a username
and password
in this array as well.
Any other options will be added as GET parameters to the DSN.
Authentification
To use Mongovel as your Auth provided, you'll simply need to go in the app/config/auth.php
file and set mongo
as your driver.
License
Licensed under the MIT License.
Other MongoDB wrappers in PHP
Before writing our own, here are the wrappers we've checked out (and sometimes contributed to):