MongoDb abstraction layer and atomic job queue for Magento


NOTE: This is NOT a drop-in replacement for MySQL. It is intended only for use in implementing new models on MongoDb.

NOTE: PHP 7 Support

PHP 7 is not supported by the legacy 'mongo' extension and I currently have no plans to update this to use the new 'mongodb' extension which is not API compatible. I will happily accept a pull rquest though! :)


This Magento extension is primarily two things:

  • An abstraction layer for MongoDb. Like the MySQL abstraction layer included in Magento, it provides classes that extend Mage_Core_Model_Abstract and Varien_Data_Collection. It also includes support for .js upgrade scripts, an indexer to automatically index fields in other collections, and a schema defined by XML files.

  • An atomic job queue. The job queue can be run by the Magento cron or by a separate script and supports future execution dates, automatic retry intervals, disabling jobs by name or group name, and priorities.

See mongo.xml.sample and Job.php for more information.

Unit Testing

Cm_Mongo can be used with EcomDev_PhpUnit, but needs to override one of it's classes for fixtures with mongo collections to work. Add a module dependency on EcomDev_PhpUnit to Cm_Mongo.xml when using with EcomDev_PhpUnit.


Please see the terms defined in LICENSE.txt