moleculer-db-adapter-rethinkdb

0.2.9 • Public • Published

Moleculer logo

moleculer-db-adapter-rethinkdb

RethinkDB adapter for Moleculer DB service.

Coverage Status Build Status NPM version Downloads

Install

$ npm install moleculer-db moleculer-db-adapter-rethinkdb --save

Usage

"use strict";
 
const { ServiceBroker } = require("moleculer");
const DbService = require("moleculer-db");
const RethinkDBAdapter = require("moleculer-db-adapter-rethinkdb");
 
const broker = new ServiceBroker();
 
// Create a RethinkDB service for `post` entities
broker.createService({
    name: "posts",
    mixins: [DbService],
    adapter: new RethinkDBAdapter({host: "127.0.0.1" || "", port: 29015}),
    database: "app",
    table: "posts"
});
 
 
broker.start()
// Create a new post
.then(() => broker.call("posts.create", {
    title: "My first post",
    content: "Lorem ipsum...",
    votes: 0
}))
 
// Get all posts
.then(() => broker.call("posts.find").then(console.log));
 
// Change feeds
const { client: conn } = this.schema.adapter;
// Lets get a rethinkdb.table instance
const rTable = this.schema.adapter.getTable();
// You can also get a rethinkdb instance with below
// const rethinkdb = this.schema.adapter.getR();
 
rTable.changes().run(conn, function(err, cursor) {
    cursor.each(console.log);
});
 
// Map Reduce with same way
rTable.map((user) => 1).run(conn);
 
// You can access all underlying API

Options

Example with connection options

new RethinkDBAdapter({
    host: "localhost",
    port: 29015
})

Above options is used as default when you dont specify any option or pass empty

Test

$ npm test

In development with watching

$ npm run ci

License

The project is available under the MIT license.

Package Sidebar

Install

npm i moleculer-db-adapter-rethinkdb

Weekly Downloads

11

Version

0.2.9

License

MIT

Unpacked Size

40.5 kB

Total Files

9

Last publish

Collaborators

  • cantecim