Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在pg promise中使用参数列表的.batch_Node.js_Postgresql_Pg Promise - Fatal编程技术网

Node.js 在pg promise中使用参数列表的.batch

Node.js 在pg promise中使用参数列表的.batch,node.js,postgresql,pg-promise,Node.js,Postgresql,Pg Promise,我正在运行nodejs和pgpromise,并希望使用批处理函数创建一个事务,该事务包含围绕多个更新的BEGIN和COMMIT 这是我的代码: db.tx(function (t) { return this.batch(function() { for (var i = 0; i < cars.length; i++) { return db.any('UPDATE ... ', [car_id, cars[i].votes]);

我正在运行nodejs和pgpromise,并希望使用批处理函数创建一个事务,该事务包含围绕多个更新的BEGIN和COMMIT

这是我的代码:

db.tx(function (t) {
    return this.batch(function() {
        for (var i = 0; i < cars.length; i++) {
            return db.any('UPDATE ... ', [car_id, cars[i].votes]);
        }
    });
})
db.tx(功能(t){
返回此.batch(函数(){
对于(变量i=0;i
然而,它似乎不起作用,因为什么都没有发生。难道不能为这样的输入创建我的批处理列表吗?

方法不使用函数作为参数,而是使用一系列承诺来解析

还有很多关于如何使用它的例子(也在StackOverflow上),从官方文档开始:

对于一组更新,您只需创建一个更新查询数组,然后使用以下命令执行它们:

额外的

同一类型的多个更新可以作为单个查询执行,以获得更好的性能。请参阅和方法。

方法不将函数作为参数,它需要解析一系列承诺

还有很多关于如何使用它的例子(也在StackOverflow上),从官方文档开始:

对于一组更新,您只需创建一个更新查询数组,然后使用以下命令执行它们:

额外的


同一类型的多个更新可以作为单个查询执行,以获得更好的性能。请参阅和方法。

从官方文档开始,到处都有这样的示例:。从官方文档开始,到处都有这样的示例:。抱歉,但是一直在努力使用正确的方法。谢谢你。@MichaelNielsen我已经添加了关于多个更新的主题的进一步研究,以防有一天你到达那里;)抱歉,但仍在使用正确的方法。谢谢你。@MichaelNielsen我已经添加了关于多个更新的主题的进一步研究,以防有一天你到达那里;)
db.tx(t => {
    const queries = cars.map(c => {
        return t.none('UPDATE ... ', [c.car_id, c.votes]);
    });
    return t.batch(queries);
})
    .then(data => {
        // success
    })
    .catch(error => {
        // error
    });