This module provides a cache client that is compliant with the
abstract-cache protocol. This
client implements the await
style of the protocol.
This module uses the native mongodb driver.
// Create a client that uses mongodb to connect to `localhost:6379`.
const client = require('abstract-cache-mongo')()
client.start()
.then(() => client.set('foo', 'foo', 1000))
.then(() => client.has('foo'))
.then(console.log) // true
.then(() => client.stop())
.catch(console.error)
The client factory accepts the an object with the following properties:
client
: An already connected instance ofmongodb
.segment
: A string denoting the collection to use for storage. The default isabstractCacheMongo
.mongodb
:url
: A regular MongoDB connection URL. Should include username and password if authentication is needed. The default is: `mongodb://localhost:27017/abstractCacheMongo'.connectOptions
: Will be passed as the second parameter toMongoClient.connect()
.
Notes:
client
takes precedence tomongodb
.- The user is responsible for opening and closing the connection.
In order to run the tests for this project a local instance of MongoDB must
be running on port 27017
. A docker-compose.yml
is included to facilitate
this:
$ docker-compose -d up
$ tap test/*.test.js
npm test
automates the above.