繁体   English   中英

如何使 pg-promise 将行作为数组返回?

[英]How to make pg-promise return rows as arrays?

我们如何让pg-promise从查询中返回一个行数组,而不是行对象数组?

pg-promise支持Prepared StatementsParameterized Queries高级参数,就像它们在node-postgres 中一样 一个这样的参数 - rowMode ,可以设置为array以使驱动程序将行作为数组返回。

// Prepared Statement:
await db.any({
    name: 'my-prep-statement',
    text: 'select ...', // a query or a QueryFile object (see PreparedStatement)
    values: [],
    rowMode: 'array'
});

// Parameterized Query:
await db.any({
    text: 'select ...', // a query or a QueryFile object (see ParameterizedQuery)
    values: [],
    rowMode: 'array'
});

另请参阅包装它们的类型: PreparedStatementParameterizedQuery

下面的代码与上面的代码等效,但提供了更好的性能 + 可重用性 + 单独设置值的灵活性。

const ps = new pgp.PreparedStatement({
    name: 'my-prep-statement',
    text: 'select ...', // a query or a QueryFile object (see PreparedStatement)
    values: [], // alternatively, can be set when calling a query method
    rowMode: 'array'
});

await db.any(ps);

const pq = new pgp.ParameterizedQuery({
    text: 'select ...', // a query or a QueryFile object (see ParameterizedQuery)
    values: [], // alternatively, can be set when calling a query method
    rowMode: 'array'
});

await db.any(pq);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM