Deprecation notice:
Please prefer using megastef/node-crate package :)
An extension to crate-connect, CrateJS will provide you with better methods for working with Crate.io.
npm install cratejs
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.
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){});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}})- Blob helper
- Indexing helpers
- Shards and replicas helper
- Try out a binary connector
This was created for the Crate.io data Storage.