【发布时间】:2020-02-01 02:49:11
【问题描述】:
router.get("/members", (req, res) => {
let page = req.query.page;
let pageSize = req.query.pageSize;
if (typeof page === "undefined") {
page = 0;
} else {
page -= 1;
}
if (typeof pageSize === "undefined") {
pageSize = 5;
}
var skip = page * pageSize;
db.sequelize.query(
"SELECT id, mbr_id, mbr_name, mbr_type " +
"FROM tbl_members " +
"LIMIT " + pageSize + " " +
"OFFSET " + skip
)
.then(members => {
res.json(members[0])
})
.catch(err => {
res.send("error: " + err)
})
})
我想添加另一个 mysql 查询。如何修改我的代码,以便我可以添加另一个 mysql 查询并将结果添加到 res 变量。我想添加的查询是获取上面查询的记录总数,没有限制和偏移量。打算用它来分页。
另外,我是否必须使用 async/await 服务器端?在调用上面的代码之前,我的客户端已经有 async/await 了。在发布此内容之前,我已经阅读了此 thread。它有示例代码和一些解释。它谈论并行与承诺 - 我不需要并行查询执行,只是我在单个 router.get() 中执行多个查询。
我也更喜欢使用 MySQL 语句,因为我习惯于使用 SQL 语句,而不是 ORM,尤其是在定义关系和使用聚合方面——现在仍然令人困惑。
【问题讨论】:
标签: node.js express sequelize.js