我正在使用nodejs,express和sqlite3创建一个小的Web界面。有一个具有固定行数和列数的表,可以通过表单对其进行更新。不需要用户填写所有字段,因此发布请求中有很多空值。我只想将填充的字段写回数据库,而忽略空的字段。我可以想到许多丑陋而乏味的方法来实现这一目标,但是我敢肯定有一些我不知道的非常简单的解决方案。
app.post('/updatevals', (req, res) => {
for (const m in req.body) {
const val = req.body[m]; // val = ['value1', '', '', 5]
// user left index 1 + 2 empty
// last value is primary key
// Overwrites val2 + val3 with empty strings...
const sql = "UPDATE mytable SET val1=?, val2=?, val3=? WHERE id=?";
db.run(sql, val, (err) => {});
}
});