node package manager
We need your input. Help make JavaScript better: Take the 2017 JavaScript Ecosystem survey »


Fortune MongoDB Adapter

Build Status npm Version License

This is a MongoDB adapter for Fortune. It uses the official Node.js MongoDB driver internally.


Install the fortune-mongodb package from npm:

$ npm install fortune-mongodb

Then use it with Fortune:

const fortune = require('fortune')
const mongodbAdapter = require('fortune-mongodb')
const store = fortune({ ... }, {
  adapter: [
      // options object, URL is mandatory. 
      url: 'mongodb://localhost:27017/test'


Adapter options:

  • url: MongoDB connection URL. Required.
  • generateId: Generate the _id key on a new document. It must be a function that accepts one argument, the record type, and returns a unique string or number. Optional.
  • typeMap: An object that maps type names (keys) to MongoDB collection names (values). For example, { user: 'users' }.

Driver options (see the official documentation for details):

  • db: options that affect the DB instance.
  • replSet: options that modify the ReplicaSet topology connection behavior.
  • mongos: options that modify the Mongos topology connection behavior.
  • server: options that modify the Server topology connection behavior.

In addition to the constructor options, there is also the query function in the find method, which accepts the query object as an argument, and may either mutate or return the query object. This allows for arbitrary queries.

Internal Usage

The database client is exposed as the db property on the adapter instance, so for example, store.adapter.db lets you use the MongoDB driver directly.


This software is licensed under the MIT License.