Skip to content

A no-dependency module that adds 'upsert' to Node.js Cloudant

License

Notifications You must be signed in to change notification settings

cdimascio/cloudant-upsert

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cloudant-upsert

A no-dependency module that adds an upsert function to the nodejs-cloudant module.

Install

npm install cloudant-upsert

Usage

The following adds the upsert function to a cloudant instance

var Cloudant = require('@cloudant/cloudant');
var cloudant = Cloudant('<YOUR_CLOUDANT_URI>');
require('cloudant-upsert')(cloudant);

Examples

Promises

In the example below prevdoc contains null or the previous doc

cloudant.db.use('mydb').upsert('carmine', prevdoc => ({
    "text": "Woop Woop! We're using promises",
  }))
  .then(r => console.log('result', r))
  .catch(e => console.log('error', e.message));

Callbacks

In the example below prevdoc contains null or the previous doc

cloudant.db.use('mydb').upsert('carmine', prevdoc => ({
    "text": "Woop! Woop! We're using callbacks"
  }), (err, data) => {
    if (err) console.log('error', err.reason)
    else console.log('data', data)
  })

API

Promise API

upsert(id, function(prevdoc))

param description
id The document id to upsert
function(prevdoc): doc A function that provides the previous document (or null when inserting a new doc) as input. You must return the document to upsert.

Callback API

upsert(id, function(prevdoc), function(err, res)}

param description
id The document id to upsert
function(prevdoc): doc A function that provides the previous document (or null when inserting a new doc) and returns a new document to upsert
function(err, res): void A Node.js error first callback

License

MIT