在MySQL中与节点一起使用流

在MySQL中与节点一起使用流,mysql,node.js,stream,Mysql,Node.js,Stream,按照上的示例,我尝试将结果从MySQL流式传输到node.js中的stdout 代码如下所示: connection.query('SELECT * FROM table') .stream() .pipe(process.stdout); 我得到这个错误:TypeError:invalid data解释 从该项目的github: .stream()以“对象模式”返回流。你不能通过管道将其传输到标准输出或网络 套接字,因为“数据”事件将行作为有效负载,而不是缓冲区块 修

按照上的示例,我尝试将结果从MySQL流式传输到node.js中的stdout

代码如下所示:

connection.query('SELECT * FROM table')
      .stream()
      .pipe(process.stdout);
我得到这个错误:
TypeError:invalid data

解释 从该项目的github:

.stream()
以“对象模式”返回流。你不能通过管道将其传输到标准输出或网络 套接字,因为“数据”事件将行作为有效负载,而不是缓冲区块

修理 您可以使用模块修复此问题


请注意,在
.pipe(process.stdout)

之前有一个额外的
.pipe(stringizer)
字符串(缓冲区,实际上)和对象模式之间的区别非常重要,但常常容易被忽略。接得好。
var stringify = require('csv-stringify');

var stringifier = stringify();


connection.query('SELECT * FROM table')
    .stream()
    .pipe(stringifier).pipe(process.stdout);