New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

baseview

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

baseview

minimalistic couchbase view client for node.js

latest
Source
npmnpm
Version
0.0.3
Version published
Maintainers
1
Created
Source

baseview

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.

usage

  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.

example with socket.io

  io.sockets.on('connection', function (socket) {
    baseview.view('feed', 'images', function(error, data) {
      socket.emit('image_feed', data.rows);
    });
  });

tests

Tests are written in specify. To run the tests, execute: node tests/views.js node tests/spatial.js

contribute

everyone is welcome to contribute. patches, tests, bugfixes, new features

  • create an issue on github so the community can comment on your idea
  • fork baseview in github
  • create a new branch git checkout -b my_branch
  • create tests for the changes you made
  • make sure you pass both existing and newly inserted tests
  • commit your changes
  • push to your branch git push origin my_branch
  • create an pull request

meta

proudly presented by Patrick Heneise, Barcelona.

Keywords

couchbase

FAQs

Package last updated on 12 Sep 2012

Did you know?

Socket

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