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