cbez

0.8.1 • Public • Published

Alpha Notice

This is a work-in-progress project, it is functional but with some possible bugs.

Cbez

Couchbase Made Easy for Node.js, the original Couchbase Node.js module is not quick and easy for map/reduce, no chained queries, etc. This project Cbez tries to make everything as simple as possible for developers when utilising Couchbase in a project.

This is an ES6 module to be imported with ES6 'import' keyword.

Feature Request and Bug Reporting

Installation

npm install cbez

Examples

Create Connection

import cbez from "cbez";
 
var Cb = new cbez();
Cb.open(Host,User,Password,Bucket,function(Err,Result){
  if (Err!=null) {
    console.log("Error:",Err);
    Cb.close();
    return;
  }
 
  //call methods in Cb instance,
  //other examples are in here.
  //not all features of Couchbase wrapped in this module,
  //in the meantime, these are original Couchbase objects underhood:
  console.log(Cb.Authenticated); //authentication status
  console.log(Cb.Cluster); 
  console.log(Cb.Bucket);
  console.log(Cb.Manager); //bucket manager
 
  Cb.close();
});

Reset Id Counter of Certain Type

Cb.reset_id("user",function(Err,Result){
  ...
});

Get Next Id of Certain Type

Cb.next_id("user",function(Err,Next_Id){
  //use the result 'Next_Id' here
});

Insert/Upsert A Document

Cb.insert().values(Next_Id,{
  key1: "value1",
  ...
});
console.log(Cb.string());
 
//the 3 consistency levels of N1QL
var Consistency = cbez.C1; //or C2, C3
 
Cb.query(Consistency,function(Err,Result){
  ...
});

Select Documents

//the from bucket clause is auto-added
Cb.select("*").where("key1=$1").params(["value1"]);
console.log(Cb.string());
 
Cb.query(Consistency,function(Err,Docs){
  console.log(Docs);
});

Create Viewgroup (aka. Design Document)

function all_users_map(Doc,Meta) {
  if (Doc.Type=="user")
    emit(Meta.id,Doc);
}
 
Cb.upsert_viewgroup("users",{
  views: {
    all_users: {
      map: all_users_map
    }
  }
},
function(Err,Result){
  ...
});
 

Get Documents in a View

var Query = Cb.select_view("users","all_users").limit(100);
 
Cb.viewquery(Query,function(Err,Docs){
  ...
});

//end of file

Package Sidebar

Install

npm i cbez

Weekly Downloads

0

Version

0.8.1

License

GPL-3.0-or-later

Unpacked Size

27.3 kB

Total Files

6

Last publish

Collaborators

  • datdinhquoc