Socket
Socket
Sign inDemoInstall

cratejs

Package Overview
Dependencies
1
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    cratejs

This is a node.js driver for the Crate Data Storage.


Version published
Weekly downloads
29
increased by163.64%
Maintainers
1
Install size
32.2 kB
Created
Weekly downloads
 

Readme

Source

CrateJS

Build Status

An extension to crate-connect, CrateJS will provide you with better methods for working with Crate.io.

Installation

npm install cratejs

Connecting

var Crate = require('cratejs');

//You can have as many db instance as you please :)
//You should probably add this part to another module and export it!
var db = module.exports = new Crate({
  host: 'localhost',
  port: 4200,
  /* Optional manual clustering
  cluster: [
      {
          host: '192.168.0.100',
          port: 4200,
      }
  ]
  */
});
  • The "db" variable will be used in the examples below.

Sample docs

db.Select(tableName)

var findBars = db.Select('fooTable')
    .columns(['id', 'name', 'bar'])
    .where({
        bar: 1
    })
    .limit(1)
    .order('id', 'asc');

findBars.run(function(err, res) {});

db.Insert(tableName)

var insertBars = db.Insert('fooTable');

//Inserting a single row
insertBars.data({
    bar: 1
}).run(function(err, res) {});

//Inserting multiple rows
insertBars.data([
    {
        bar: 1
    },
    {
        bar: 2
    },
]).run(function(err, res) {});

db.Update(tableName)

var updateBars = db.Update('fooTable')
    .where({
        bar: 1
    })
    .set({
        bar: 2
    });

updateBars.run(function(err, res) {});

db.Delete(tableName)

var deleteBars = db.Delete('fooTable')
    .wh11g10ggere({
        bar: 1
    });

deleteBars.run(function(err, res) {});

Methods inherited from crate-connect

db.Query(_queryString)

var getSomeTweets = db.Query('SELECT * FROM tweets LIMIT ?');

var howMany = 10;

getSomeTweets.execute([howMany], function(err, res) {});

db.execute(_queryString)

db.execute('SELECT * FROM tweets LIMIT ?', [10], function(err, response) {});

blob().put(table, sha1Hash, buffer, callback)

var buffer = new Buffer('sample')
var hash = crypto.createHash('sha1').update(buffer).digest('hex')

####blob().put('imagesTable', hash, buffer, function(err) {
    if(err) {
        //err.statusCode
    }
})
  • Note that if the sha1 hash is not correct, the blob wont be inserted. The sha1 hash must be calculated from the blob to be inserted.

blob().get(table, sha1Hash, callback)

db.blob().get('imagesTable', '8151325dcdbae9e0ff95f9f9658432dbedfdb209', function(err, buffer) {
    if(err) {
        //err.statusCode
    }
})

blob().check(table, sha1Hash, callback)

db.blob().check('imagesTable', '8151325dcdbae9e0ff95f9f9658432dbedfdb209', function(err) {
    if(err) {
        //err.statusCode
    }
})

blob().delete(table, sha1Hash, callback)

db.blob().check('imagesTable', '8151325dcdbae9e0ff95f9f9658432dbedfdb209', function(err) {
    if(err) {
        //err.statusCode
    }
})

TODO

  • Blob helper
  • Indexing helpers
  • Shards and replicas helper
  • Try out a binary connector

Contributors

This was created for the Crate.io data Storage.

Keywords

FAQs

Last updated on 20 Jul 2014

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc