我们如何让pg-promise从查询中返回一个行数组,而不是行对象数组?
问问题
2766 次
1 回答
6
pg-promise支持 and 的高级参数Prepared Statements
,Parameterized 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'
});
另请参阅包装它们的类型:PreparedStatement和ParameterizedQuery。
下面的代码与上面的代码等效,但提供了更好的性能 + 可重用性 + 分别设置值的灵活性。
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);
于 2016-03-15T23:07:26.033 回答