gpt4 book ai didi

javascript - Mongoose .js : What are QueryStreams

转载 作者:搜寻专家 更新时间:2023-10-31 23:10:17 25 4
gpt4 key购买 nike

我查看了 mongoosejs odm 的文档,发现如下: http://mongoosejs.com/docs/querystream.html

它们的用途是什么?我能用它们做什么。

我不确定它们是用于流式文档还是用于动态更新查询...

问候

最佳答案

嗯,这都是关于 API 的。

QueryStream 允许使用 ReadStream 的 API 所以为了欣赏 QueryStream,您需要了解更多关于 ReadStream /WriteStream.

有很多优点:

  • 您可以处理大量数据,这些数据将以“ block ”的形式获得,因此内存一次包含一个项目(它可以是数据库文档、数据库行、文件中的一行等。 )
  • 您可以暂停/恢复流
  • 你可以很容易地通过管道读取->写入

这个想法是它为您提供了一个统一的 API 来进行读写操作。

回答您的问题“我能用它们做什么”:

无论有没有 node.js 的流 API,你都可以做任何事情,但当有某种标准时,它肯定会使它更清晰、更容易使用。

此外,node.js 的流是基于事件的(基于 EventEmitter),因此有助于解耦。


编辑:

那更多是关于流的方面。在 Mongoose 的情况下,单个 block 包含一个文档。

阐明API的优势:

node.js 的 http.ServerResponse 是可写流,这意味着您应该能够使用一行将 Mongoose 的结果集流式传输到浏览器:

// 'res' is the http response from your route's callback.
Posts.find().stream().pipe(res);

重点是,无论您是写入http.ServerResponse、文件还是其他任何内容,都没有关系。只要它实现了可写流,它就应该无需更改即可工作。


希望我说得更清楚。

关于javascript - Mongoose .js : What are QueryStreams,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11563708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com