1.2.0 • Published 7 years ago

thinodium-mongodb v1.2.0

Weekly downloads
2
License
MIT
Repository
github
Last release
7 years ago

Thinodium MongoDB adapter

Build Status npm Join the chat at https://discord.gg/bYt4tWB Follow on Twitter

A MongoDB adapter for thinodium which internally uses the official MongoDB driver.

Special features:

  • Creates indexes if they don't already exist.

Installation

$ npm install thinodium thinodium-mongodb mongodb@2.2

Note: Node 6 or above is required for this adapter

Usage examples

const Thinodium = require('thinodium');

const db = yield Thinodium.connect('mongodb', {
  // connection string
  url: 'mongodb://localhost:27017/test',
  /* all options get passed to native driver module */
  ...
});

/*
  This will create the "User" table and all specified indexes if they
  don't already exist.
 */
const User = yield db.model('User', {
  /* See https://docs.mongodb.com/manual/reference/method/db.collection.createIndex/#db.collection.createIndex */
  indexes: [
    {
      keys: { age: 1 },
      options: {
        name: 'age_up'
      }
    },
    {
      keys: { name: 1 },
      options: {
        unique: true
      }
    },
  ],
});

// insert a new user
let user = yield User.insert({
  name: 'john'
});

// ... normal thinodium API methods available at this point

Check out the thinodium docs for further usage examples and API docs.

Building

To run the tests you will need MongoDB installed and running with default host and port settings. Then on the command-line:

$ npm install
$ npm test

Contributing

Contributions are welcome! Please see CONTRIBUTING.md.

License

MIT - see LICENSE.md