marcqualie / mongominify
A drop-in library which acts as a transparent filter to MongoDB documents and compresses/decompresses data on the fly
Installs: 1 996
Dependents: 1
Suggesters: 0
Security: 0
Stars: 9
Watchers: 5
Forks: 2
Open Issues: 2
Requires
- php: >=5.3.3
- ext-mongo: >=1.3.0
Requires (Dev)
- phpunit/phpunit: ~3.7
- silex/silex: ~1.0
README
[](http://twitter.com/home/?status=Thanks @marcqualie for making Mongo+Minify: https%3A%2F%2Fgithub.com%2Fmarcqualie%2Fmongominify)
MongoMinify is a drop-in library which acts as a transparent filter to MongoDB documents and compresses/decompresses data on the fly. PSR-2 compliant and works with PHP 5.3+.
Getting started
You should check out the Getting Started page on the Wiki to get up and running
Quick Instalation
The best way to install this library is via composer.
{
"require": {
"marcqualie/mongominify": "dev-master"
}
}
Why MongoMinify?
As great as MongoDB is at so many things, it has a downside compared to other data stores that it stores it's keys wih every document. These keys quickly add up and sometimes double or even triple the amount of storage required. Myself and many other developers got around this by adding single letter key names, but this is hard to manage with large projects and documents. MongoMinify gets around this problem by transparently converting documents as they are transfered between the client and the database leaving readable code with compressed storage.
Requirements
- PHP 5.3+
- MongoDB PHP Driver 1.3+
Aggregation
The aggregation framework is very complex with a lot of use cases. I've tried to tackle it as best I can and it works for every use case I've come across. If you find a bug with minification while using the aggregtation framework, please create report it using Github Issues.
Feedback / Contributing
Feedback and pull requests on Github are always welcome and encouraged.