Moyen le plus facile pour mettre à jour les données avec nœud-postgres?
Je suis en utilisant le superbe plugin nœud-postgres, https://github.com/brianc/node-postgres
J'ai cette mise à jour de repos de l'appel. J'ai un sujet de 30 colonnes dans mon dans mon tableau. Est-il un moyen plus facile de mettre à jour ces puis de cette façon?
/*
Post /api/project/products/:pr_id HTTP/1.1
*/
exports.updateProduct = function(req, res){
pg.connect(cs, function(err, client, done) {
var query = "UPDATE products SET pr_title = ($1), pr_usercode = ($2) WHERE pr_id=($3)";
client.query(query, [req.body.pr_title, req.body.pr_usercode, req.params.pr_id], function(err, result) {
if (handleErr(err, done)) return;
done();
sendResponse(res, result.rows[0]);
})
});
};
Je n'ai que trois colonnes ici. Il sera confus et difficile à maintenir quand j'écris tous les 30 colonnes. Doit être d'une manière juste avec une simple ligne de mise à jour de toutes les colonnes dans la req.corps?
Des idées?
OriginalL'auteur Joe | 2014-02-13
Vous devez vous connecter pour publier un commentaire.
Vous pouvez toujours rouler une fonction comme ceci:
Et ensuite l'utiliser comme tel:
Ou, si un ORM est quelque chose que vous avez besoin parce que vous allez faire beaucoup comme ci-dessus, vous devriez vérifier les modules tels que Knex.js
id
dansupdateProductByID
devrait plutôt être paramétrée de la valeur. Au lieu dei + 1
, utilisezi + 2
, puis annuler le décalage de la valeur d'ID produit àcolValues
pour s'assurer qu'aucune injection SQL peut être effectuée par l'insertion d'un malveillant ID.filtre de fonction retourne un booléen de l'expression, pas la valeur. vous devez remplacer le filtre ""avec la" carte " qui est la bonne fonction pour les valeurs de retour
Bon catch — cela a été écrit, comme le pseudo-code et pas réellement exécutées. Sera mise à jour.
OriginalL'auteur srquinn
J'aime utiliser knexjs, qui travaille avec postgre. C'est aussi un plaisir javascript façon d'écrire des requêtes (sans tout ce que méchant SQL de manipulation de chaîne).
Prendre l'exemple de cette méthode, qui stocke des informations de contact. Le JSON schema de l'information de contact est définie par ailleurs (également utile quand j'ai valider). Le résultat est un code généré par la requête, qui contient uniquement les colonnes passé.
Knexjs a aussi quelques chouettes postgre options (ce qui aurait été utile pour moi, si je n'avais pas été à l'aide de MySQL)
OriginalL'auteur clay
Donc, comme sage, vous pouvez créer mise à jour , supprimer requête
OriginalL'auteur vijay