Я изучаю Node JS с помощью express и postgres, и когда я создавал приложение CRUD, я получал такую ошибку, когда выполняю инструкцию INSERT INTO.
(node:4998) UnhandledPromiseRejectionWarning: TypeError: Invalid Query Result Mask specified.
at Database.$query (/home/aabishkar/Documents/meanstack/node_modules/pg-promise/lib/query.js:121:25)
at Database.<anonymous> (/home/aabishkar/Documents/meanstack/node_modules/pg-promise/lib/query.js:259:23)
at config.$npm.connect.pool.then.db (/home/aabishkar/Documents/meanstack/node_modules/pg-promise/lib/database.js:326:42)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7) (node:4998) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 3) (node:4998) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Мой код выглядит так:
exports.dynamicadd = function(req, res) {
var name = req.body.name;
var dob = req.body.dob;
var gender = req.body.gender;
var values = [name, gender, dob];
console.log(values); //Up to here code is fine. It returns the value.
//from here the error comes
var sql = "INSERT INTO students (name, gender, dob) VALUES ?";
db.query(sql, [values], function (err, result) {
if (err) throw err;
console.log("Number of records inserted: " + result.affectedRows);
});
res.redirect('/');
}
БД подключена. Также для справки следующий код работает нормально. Ошибка возникает, когда я пытаюсь вставить значения динамически.
//this codes works finely
exports.addlist = function(req, res) {
qry = "INSERT INTO students (name, gender, dob) VALUES ('sdasda', 'male', '12-12-1999')";
db.query(qry, function (err, result) {
if (err) throw err;
console.log("Number of records inserted: " + result.affectedRows);
});
res.redirect('/');
}
Спасибо.