A Feathers service adapter for RethinkDB.
JavaScript
Latest commit 541c983 Dec 21, 2016 @daffl daffl Updating changelog

README.md

feathers-rethinkdb

Build Status Code Climate Test Coverage Dependency Status Download Status Slack Status

Create a RethinkDB Service for FeatherJS.

Installation

npm install rethinkdbdash feathers-rethinkdb --save

Documentation

Please refer to the Feathers database adapter documentation for more details or directly at:

The feathers-rethinkdb adapter is built to use rethinkdbdash, which is a progressive version of the RethinkDB node driver which simplifies the connection process. It also provides some other benefits like connection pooling.

Pro tip: For faster queries, create indexes on your table beforehand as described here.

Complete Example

Here's an example of a Feathers server with a messages RethinkDB service.

const rethink = require('rethinkdbdash');
const feathers = require('feathers');
const rest = require('feathers-rest');
const socketio = require('feathers-socketio');
const bodyParser = require('body-parser');
const service = require('../lib');

// Connect to a local RethinkDB server.
const r = rethink({
  db: 'feathers'
});

// Create a feathers instance.
var app = feathers()
  // Enable the REST provider for services.
  .configure(rest())
  // Enable the socketio provider for services.
  .configure(socketio())
  // Turn on JSON parser for REST services
  .use(bodyParser.json())
  // Turn on URL-encoded parser for REST services
  .use(bodyParser.urlencoded({extended: true}));

  var messages = service({
    Model: r,
    name: 'messages',
    paginate: {
      default: 10,
      max: 50
    }
  }))

  messages
    .init()
    .then(() => {
      // mount the service
      app.use('messages', messages);
      // start the server.
      const port = 3030;
      app.listen(port, function() {
        console.log(`Feathers server listening on port ${port}`);
      });
    })

You can run this example by using node example/app and going to localhost:3030/messages. You should see an empty array. That's because you don't have any Todos yet but you now have full CRUD for your new messages service.

License

Copyright (c) 2016

Licensed under the MIT license.

Author

Marshall ThompsonContributors