我一直在使用nodejs和pg-promise进行项目。不太清楚如何实现参数化查询。我的代码如下:
// let's say we have an array
var hex = new Array;
hex = [[0, 1, 2, 'string1', 3, 'string2'],[4, 5, 6, 'string3', 7, 'string4']];
//lets assume db is initialized with correct parameters and we have a for loop
for (var i=0; i<hex.length; i++){
db.tx(t => {
return t.batch([
t.none('INSERT INTO x (lat, long, name) VALUES ($1[$2][0], $1[$2][1],
$1[$2][4];)',[hex,i]),
t.none('DELETE FROM x WHERE name='y'; ')];
)}
.then(data => {})
.catch(error => {
console.log('ERROR:', error);
});
)
}
我的猜测是我没有使用正确的语法进行编码,尤其是在
中t.none('INSERT INTO x (lat, long, name) VALUES ($1[$2][0], $1[$2][1], $1[$2][4];)',[hex,i]
我已经阅读了Vitaly文档中传递数组和参数函数之间的区别。但是由于我猜我俩都需要,所以无法将它们合并在一起。
我在这里做错了什么?
编辑:顺便说一句,我在'['附近收到语法错误。
谢谢!