Norse Polytheistic Mythology

    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

    Install

    npm i cbez

    DownloadsWeekly Downloads

    1

    Version

    0.8.1

    License

    GPL-3.0-or-later

    Unpacked Size

    27.3 kB

    Total Files

    6

    Last publish

    Collaborators

    • datdinhquoc