1.0.1 • Published 9 years ago

rethinkdb-crud v1.0.1

Weekly downloads
4
License
ISC
Repository
github
Last release
9 years ago

rethinkdb-crud

This is a small NodeJS module that helps you to perform quickly CRUD promises events in a RethinkDB table through a rethinkdbdash object's connection.

Installation

npm install rethinkdb-crud --save

Implementation

var r           = require('rethinkdbdash')({
                    servers :[{host: 'YOUR-HOST', db: 'YOUR-DB'}],
                    buffer  : 5, // Demo buffer
                    max     : 10 // Demo max connections
                  }),
    rdbCrud     = require('rethinkdb-crud'), // >> Set the Instance
    crudUsers   = rdbCrud({ r: r, table: 'tblUsers' }); // >> Create the rethinkdb-crud Object

Create

// Demo:
crudUsers.create({
            item: [{ name: 'marta', age: 31 }, { name: 'felipe', age: 32 }],
            validate: function(item) {
              if (item.age < 30)
                throw 'User should be older than 29.'
            }
          })
         .then(function(result){
           console.log(result);
         })
         .catch(function(err){
           console.log(err);
         });

Read

// Demo #1: Read All
crudUsers.read()
         .then(function(result){
           console.log(result);
         })
         .catch(function(err){
           console.log(err);
         });
         
// Demo #2: Read with Filter by object
 crudUsers.read({ filter: { age: 31 } })
          .then(function(result){
            console.log(result);
          })
          .catch(function(err){
            console.log(err);
          });

// Demo #3: Read with Filter by statement
crudUsers.read({
            filter: r.row('age').lt(30)
                    .and
                    ( r.row('age').ge(25) )
          })
         .then(function(result){
           console.log(result);
         })
         .catch(function(err){
           console.log(err);
         });

Update

// Demo #1: Update All
crudUsers.update({
            set: { age: 10 }
         })
         .then(function(result){
           console.log(result);
         })
         .catch(function(err){
           console.log(err);
         });
         
// Demo #2: Update with Filter by object
 crudUsers.update({
             set: { age: 29 },
             filter: { name: 'steven' }
          })
          .then(function(result){
            console.log(result);
          })
          .catch(function(err){
            console.log(err);
          });

// Demo #3: Update with Filter by statement
crudUsers.update({
            set: { name: 'vane' },
            filter: r.row('name').eq('ana')
         })
         .then(function(result){
           console.log(result);
         })
         .catch(function(err){
           console.log(err);
         });

Delete

// Demo #1: Delete All
crudUsers.delete()
         .then(function(result){
           console.log(result);
         })
         .catch(function(err){
           console.log(err);
         });
         
// Demo #2: Delete with Filter by object
crudUsers.delete({
          filter: { name: 'A' }
         })
         .then(function(result){
           console.log(result);
         })
         .catch(function(err){
           console.log(err);
         });

// Demo #3: Delete with Filter by statement
crudUsers.delete({
          filter: r.row('age').gt(30)
         })
         .then(function(result){
           console.log(result);
         })
         .catch(function(err){
           console.log(err);
         });

Count

// Demo #1: Count All
crudUsers.count()
         .then(function(result){
           console.log(result);
         })
         .catch(function(err){
           console.log(err);
         });
         
// Demo #2: Count with Filter by object
crudUsers.count({
          filter: { name: 'steven' }
         })
         .then(function(result){
           console.log(result);
         })
         .catch(function(err){
           console.log(err);
         });  

// Demo #3: Count with Filter by statement
crudUsers.count({
          filter: r.row('age').ge(25)
                   .and(
                     r.row('age').le(30)
                   )
         })
         .then(function(result){
           console.log(result);
         })
         .catch(function(err){
           console.log(err);
         });