couch.get(dbName, viewUrl, queryOptions, function (err, resData) { if (err) { return console.error(err); } if (0 === resData.data.rows.length) { couch.insert(dbName, dataPoint, function (err, resData) { if (err) { return console.error(err); } deferred.resolve(); }); } else { var doc = resData.data.rows[0].value; dataPoint = mergeDataPoints(doc, dataPoint); couch.update(dbName, dataPoint, function (err, resData) { if (err) { return console.error(err); } deferred.resolve(); }); } });
.catch((error) => { // update document data.error = error data.updated = new Date() return couch.update('mailing', data) })
.then((response) => { // update document data.response = response data.updated = new Date() return couch.update('mailing', data) })