由於我們在應用程序中收集的數據的性質,它允許用戶能夠搜索1,000,000多行數據,並且儘可能快地接收結果客戶端。如何顯示大量的報表數據客戶端(mongoDB,JS)
我們玩過各種技術,目前正在試驗文檔存儲引擎MongoDB。我們實際上是以我們希望在客戶端展示的方式將報告數據存儲在Mongo中。
但是,這是我想要依靠您的經驗。我們已經使用了一些報表插件,比如datatables.net,但是當客戶端請求可能匹配超過100,000條記錄的數據時,將這些數據傳遞給客戶端的延遲時間可能需要一分鐘才能將JSON從服務器導出到客戶。
我已經嘗試通過只向客戶端發送1000個結果來過濾結果集,但是如果用戶決定對列進行排序呢?整個請求必須再次執行,並將第1000個結果加載到客戶端。
但是,如果客戶端選擇在列中搜索,結果必須重新獲取。所有這些問題都不存在,當全部的數據已經被加載到客戶端。
所以基本上我的問題是,怎樣才能高效快速地讓客戶搜索和操作大型數據集,但將結果以一種不需要每次結果一次性發送到客戶端的方式傳遞給客戶端,因此保持客戶端儘可能輕量級?
我確定必須有一些MongoDB的前端數據類型插件,可能通過node.js直接進行JSON通信,但是我找不到任何東西!
感謝您的幫助。
值得注意的是,MongoDB在[BSON](http://bsonspec.org/)中存儲對象,所以仍然存在轉換爲JSON的情況。我懷疑你看到的大部分延遲只是由於必須傳輸和解析客戶端的數據量。 – 2011-02-05 19:06:36