Skip to content

Latest commit

History

49 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Notice

Deprecation notice:

Please prefer using megastef/node-crate package :)

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

varCrate=require('cratejs');//You can have as many db instance as you please :)//You should probably add this part to another module and export it!vardb=module.exports=newCrate({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)

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

db.Insert(tableName)

varinsertBars=db.Insert('fooTable');//Inserting a single rowinsertBars.data({bar: 1}).run(function(err,res){});//Inserting multiple rowsinsertBars.data([{bar: 1},{bar: 2},]).run(function(err,res){});

db.Update(tableName)

varupdateBars=db.Update('fooTable').where({bar: 1}).set({bar: 2});updateBars.run(function(err,res){});

db.Delete(tableName)

vardeleteBars=db.Delete('fooTable').where({bar: 1});deleteBars.run(function(err,res){});

Methods inherited from crate-connect

db.Query(_queryString)

vargetSomeTweets=db.Query('SELECT * FROM tweets LIMIT ?');varhowMany=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)

varbuffer=newBuffer('sample')varhash=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.

About

This is a node.js driver for the Crate data storage.

Resources

Stars

10 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages