# Mongo Use it to store the cache in a Mongo database. Requires the mongodb extension and the [mongodb/mongodb](https://github.com/mongodb/mongo-php-library) library. You must pass a `MongoDB\Collection` object to the cache constructor. ``` php selectDatabase('mycache'); $collection = $database->selectCollection('cache'); $cache = new MongoCache($collection); ``` MonoDB will always automatically create the database and collection if needed. ### Options | name | type | default | | | --------- | ---- | ------- | ------------------------------------- | | initialize | bool | true | Enable auto-initialize | | ttl | int | null | Maximum time to live in seconds | | prefix | string | "" | Key prefix | #### Initialize option If `initialize` is enabled, the cache implementation will automatically create a [ttl index](https://docs.mongodb.com/manual/core/index-ttl/). In production it's better to disable auto-initialization and create the ttl index explicitly when setting up the database. This prevents a `createIndex()` call on each request. ### Packer By default the [`MongoDBBinaryPacker`](../packers/mongodbbinary.md) is used. It serializes the data and stores it in a [Binary BSON variable](http://php.net/manual/en/class.mongodb-bson-binary.php). If the data is a UTF-8 string of simple array or stdClass object, it may be useful to use the [`NopPacker`](../packers/nop.md) instead.