我查看了mongoosejs odm的文档,发现如下: http://mongoosejs.com/docs/querystream.html
它们用于什么?我能用它做什么。
我不确定它们是用于流媒体文档还是动态更新查询...
此致
答案 0 :(得分:5)
嗯,这都是关于API的。
QueryStream
允许使用ReadStream
的API,以便感谢QueryStream
,您需要了解有关ReadStream
/ WriteStream
的更多信息。< / p>
有许多优点:
我们的想法是,它为您提供了一个统一API ,用于读写操作。
回答你的问题“我能用它做什么”:
你可以使用或不使用node.js的流API做任何事情,但是当它有某种标准时,它肯定会让它更清晰,更容易使用。
此外,node.js的流是基于事件的(基于EventEmitter),因此它有助于解耦。
编辑:
这更多是关于流的方面。在Mongoose的情况下,单个块包含一个文档。
澄清API的优势:
node.js的http.ServerResponse
是一个可写流,这意味着您应该能够使用一行将Mongoose
的结果集传输到浏览器:
// 'res' is the http response from your route's callback.
Posts.find().stream().pipe(res);
关键是,如果您正在写http.ServerResponse
,文件或其他任何内容,这无关紧要。只要它实现了一个可写流,它就可以不加改变地工作。
希望我说得更清楚。