Unleash awesomeness. Private packages, team management tools, and powerful integrations. Get started with npm Orgs »

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

16

version

1.1.2

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability