You can always deploy a function like this:
function updateProductByID (id, cols) {
var query = ['UPDATE products'];
query.push('SET');
var set = [];
Object.keys(cols).forEach(function (key, i) {
set.push(key + ' = ($' + (i + 1) + ')');
});
query.push(set.join(', '));
query.push('WHERE pr_id = ' + id );
return query.join(' ');
}
And then use it as such:
exports.updateProduct = function(req, res){
pg.connect(cs, function(err, client, done) {
var query = updateProductByID(req.params.pr_id, req.body);
var colValues = Object.keys(req.body).map(function (key) {
return req.body[key];
});
client.query(query, colValues, function(err, result) {
if (handleErr(err, done)) return;
done();
sendResponse(res, result.rows[0]);
});
});
};
, ORM - , , , , Knex.js