在 node.js 应用程序中,我从 MySQL 数据库中提取了一个巨大的数据池(200000行)。
src/
我认为最好的方法是按块和流而不是一次发送所有数据。我尝试使用JSONStream软件包执行此任务,但确实很困惑。有人可以通过这个软件包向我展示发送巨大数据池作为node.js中的响应的正确方法吗?
答案 0 :(得分:2)
这是一个例子:
app.get('/data', (req, res) => {
// Make sure to set the correct content type
res.set('content-type', 'application/json');
// Stream the results
pool.query(query, binds)
.stream()
.pipe(JSONStream.stringify())
.pipe(res);
});
诀窍是在查询上调用.stream()
方法,以流式传输结果,然后将这些结果通过JSONStream
进行管道传输,以将其字符串化为JSON流,随后将其通过管道传输至响应。
有关mysql
的更多信息,请点击此处