[deprecated] minimalistic CouchBase client for node.js
OTHER License
baseview is no longer required since the view functionality is build in the latest couchnode client.
baseview
is a minimalistic CouchBase client for node.js based on the minimalistic CouchDB driver nano.
CouchBase provides view data as JSON, which can be accessed and streamed with this client. To store and retrieve single documents/key-value pairs, the memcached-library is required.
baseview = require('baseview')('http://127.0.0.1:8092')
or
baseview = require('baseview')({url: 'http://127.0.0.1:8092', bucket: 'my_bucket'})
...
// retrieve data from a view
baseview.view('design_doc', 'view_name', function(error, data) {
console.log(error, data);
});
// retrieve data from a spatial index with bounding box.
// see 'sparta' for bbox calculations
baseview.spatial('geo', 'points', {bbox: bbox}, function(error, points) {
console.log(error, points);
});
//adding a design document
baseview.setDesign('design_doc', {
'names': {
'map': "function(doc){if(doc.name){emit(doc.name);}}"
},
'rating': {
'map': "function(doc){if(doc.name && doc.rating){emit(doc.rating);}}"
}
},
function(err, res){
// handle error http://www.couchbase.com/docs/couchbase-manual-2.0/couchbase-views-designdoc-api-storing.html
}
);
// retrieve a design document
baseview.getDesign('design_doc', function(err,res) {
// http://www.couchbase.com/docs/couchbase-manual-2.0/couchbase-views-designdoc-api-retrieving.html
});
// delete a design document
baseview.deleteDesign('design_doc', function(err, res) {
// handle error http://www.couchbase.com/docs/couchbase-manual-2.0/couchbase-views-designdoc-api-deleting.html
});
To create a geographical bounding box (bbox), have a look at sparta, a small library for geo calculations.
io.sockets.on('connection', function (socket) {
baseview.view('feed', 'images', function(error, data) {
socket.emit('image_feed', data.rows);
});
});
Tests are written in specify. To run the tests, execute:
node tests/views.js
node tests/spatial.js
everyone is welcome to contribute. patches, tests, bugfixes, new features
baseview
in githubgit checkout -b my_branch
git push origin my_branch
proudly presented by Patrick Heneise, Barcelona.