2013-04-24 28 views
0

經過對node.js實時框架/包裝(derby.js,流星, socketIO ...)的全天研究之後,我意識到,更老式的(遺憾的)安靜的API 適合所有我的需求。MongoDB文件流與HTTP響應?

我認爲我必須使用正在進行的套接字連接的原因之一是因爲我想要 從數據庫中流式傳輸我的MongoDB文檔,而不是將它們全部加載到服務器的內存中。我認爲這是推薦的方式,因爲它最大限度地減少了服務器資源的使用。

但這裏的問題是:

是否與普通的HTTP請求/響應 模型一個簡單的文檔查詢工作流還是我們必須建立一個持續的插座連接傳輸所有文件到客戶端?

注意:我只需要在ajax調用中加載文檔 - 不需要將新文檔推送到客戶端(因此實際上不需要實時)。

有什麼特別的考慮?

回答

1

您可以使用標準HTTP請求/響應API來傳輸查詢的結果。

調用的一般順序是:

res.writeHead(<header content>) 
res.write(<data>) 
... 
res.write(<data>) 
res.end(); 

但是你讓那些異步調用,通過查詢流事件驅動。

+0

非常感謝。雖然我在2小時前閱讀了關於播放框架的內容,但我看到了將HTTP響應頭的編碼設置爲「塊」的概念。 然後,當我分析了一些express.js製作的網站時,我發現它也被使用 - 所以表達似乎將「塊」用作其默認值。 所以,當從數據庫中提取mongoDB文檔時,所有文檔都可以放入HTTP響應(作爲「塊」)。當流結束時,HTTP響應被標記爲已完成並準備呈現。 我想這跟你提到的完全一樣,是真的嗎? – JoeFrizz 2013-04-25 14:10:16

+0

@JoeFrizz是的,沒錯。 – JohnnyHK 2013-04-25 14:34:05