This package has been deprecated

    Author message:

    Not maintained anymore

    couchdbjs

    1.1.2 • Public • Published

    couchdbjs

    couchdbjs is node.js client for couchdb.

    NPM

    npm npm npm npm Dependencies

    Install

    $ npm install couchdbjs --save

    Create a couchdbjs object

    const Couchdbjs = require('couchdbjs');
    const db = new Couchdbjs(dbname, options, callback);

    Note : Here DB is the object of the class couchdbjs.

    Here options is an optional js object containing the configuration. This is the default configuration.

    {
        protocol : 'http:',
        hostname: 'localhost',
        port: 5984
    }

    dbname is the name of the database.

    Generate a new uuid

    Couchdbjs.getNewId(options, cb);

    Here options is optional configuration object. This is the default configuration.

    {
        protocol : 'http:',
        hostname : 'localhost',
        port: 5984
        count : 1
    }

    cb is reqired callback function with two parameters err and data. To avoid writing configurations for protocol, hostname and port again the function getConfig can be called on existing database object.

    db.getConfig({count : 1});

    returns

    {
        protocol : 'http:',
        hostname : 'localhost',
        port: 5984
        count : 1
    }

    Complete Example :

    Couchdbjs.getNewId(db.getConfig({count : 1}, function(err, data) {
        if (err) console.error(err);
        else console.log(data[0]); // data is array of uuids
    }));

    Create a new database

    // not recommended
    const db = new Couchdbjs('dbname', options);

    This creates a database when a database with name dbname doesn't exist. Database can also be created using Couchdbjs.createDB function.

    // recommended
    Couchdbjs.createDB({
        protocol: 'http:',
        hostname: 'localhost',
        port: 5984,
        db: 'dbanme'
    }, function(err, data)=>{
        if (err) console.error(err);
        else console.log(data);
    });

    Delete a database

    Database can be deleted using function Couchdbjs.deleteDB similar to Couchdbjs.createDB.

    Couchdbjs.deleteDB({
        protocol: 'http:',
        hostname: 'localhost',
        port: 5984,
        db: 'dbanme'
    }, function(err, data) {
        if (err) console.error(err);
        else console.log(data);
    });
     

    List all documents in a database

    db.getAllDocs(function(err, data) {
        if (err) console.error(err);
        else console.log(data);
    });

    Create a new document

    db.createDoc(id, document, cb);

    id is the id of the document to be used. document is the object to be stored in the document. cb is the callback function with parameters err and data. Example

    db.createDoc('id_doc', {a:1, b:2, c:[5, 'k']}, function(err, data) {
        if (err) console.error(err);
        else console.log(data);
    });

    Get document

    db.getDoc(id, cb);

    id is the id of the document. cb is the callback function with parameters err and data. Example

    db.getDoc('id_doc', function(err, data) {
        if (err) console.error(err);
        else console.log(data);
    });

    Update a document

    db.updateDoc(id, doc, cb);

    id, doc, cb are id of document to be updated, document object with filed to be updated and callback function with parameters err and data respectively. Example Suppose this a document already present

    {
        'id': 'id_doc',
        '_rev': '1-1357',
        'a': 1,
        'b': 'asd'
    }

    If the following function is used to update the document

    db.upadteDoc('id_doc', {b: 'cs', c: 5}, function(err, data) {});

    then the final document will be

    {
        'id': 'id_doc',
        '_rev': '2-2468',
        'a': 1,
        'b': 'cs',
        'c': 5
    }

    After that if the following function is used to update the document

    db.upadteDoc('id_doc', {b: 'cse', a: undefined}, function(err, data) {});

    then the final document will be

    {
        'id': 'id_doc',
        '_rev': '3-3579',
        'b': 'cse',
        'c': 5
    }

    To update whole document by overwriting the existing one use

    db.createDoc(id, doc, cb);

    with _rev field in the doc document.

    Delete a document

    db.deleteDoc(id, function(err, data) {
        if (err) console.error(err);
        else console.log(data);
    });

    Attach files to a document

    db.attachFileToDoc(id, rev, file, cb);

    Example

    db.attachFileToDoc('id_doc', '3-3579', {
        name: 'pic.jpg',
        path: '/home/user/image.jpg'
        mimetype: 'image/jpeg'
    }, function(err, data) {
        if (err) console.error(err);
        else console.log(data);
    });

    Here the file gets uploaded to http://localhost:5984/db_name/id_doc/pic.jpg.

    Delete attachment from document

    db.deleteAttachment(id, rev, attachmentName, cb);

    Example

    db.attachFileToDoc('id_doc', '4-1579', 'pic.jpg', function(err, data) {
        if (err) console.error(err);
        else console.log(data);
    });

    Install

    npm i couchdbjs

    DownloadsWeekly Downloads

    2

    Version

    1.1.2

    License

    MIT

    Last publish

    Collaborators

    • prateekkumarweb