簡體   English   中英

Mongoose.js:什么是QueryStreams

[英]Mongoose.js: What are QueryStreams

我瀏覽了mongoosejs odm的文檔,發現以下內容: http : //mongoosejs.com/docs/querystream.html

它們是用來干什么的? 我該怎么辦。

我不確定它們是否用於流式文檔或動態更新查詢...

問候

好吧,這一切都與API有關。

QueryStream允許使用ReadStream的API,因此為了欣賞QueryStream ,您需要了解有關ReadStream / WriteStream更多信息。

有很多優點:

  • 您可以處理大量數據,這些數據將作為“塊”獲得,因此內存一次僅包含一項(它可以是數據庫文檔,數據庫行,文件中的一行等)。
  • 您可以暫停/恢復流
  • 您可以非常容易地通過管道讀取->寫入

其思想是為您提供用於讀取和寫入操作的統一API

要回答您的問題“我該怎么辦”:

無論有沒有Node.js的流API,您都可以執行任何操作,但是當存在某種標准時,它無疑使其更清晰易用。

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


編輯:

那更多是關於流方面的。 在貓鼬的情況下,一個大塊包含一個文檔。

要闡明API的優勢:

node.js的http.ServerResponse是可寫流,這意味着您應該能夠使用單行將Mongoose的結果集流傳輸到瀏覽器:

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

關鍵是,無論您要寫入http.ServerResponse ,文件還是其他任何東西都沒有關系。 只要實現了可寫流,它就應該可以正常工作。


希望我說得更清楚。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM