2017-10-17 132 views
0

當我有他們的ID時,如何從PouchDB有效地讀取多個文檔?PouchDB - IN子句

我嘗試AllDocs

db.allDocs({ 
    keys: ['givenId1','givenId2',...,'givenId100'], 
}); 

實在是太慢了,當我在數據庫10000個文檔,並希望與include_docs=false讀取100個按鍵,它需要大約8秒鐘

我用websql適配器

回答

0

PouchDb docs使用AllDocs和「鍵」警告性能問題。我建議兩件事情來嘗試,可以提高性能:

(1)儘量不使用特定的適配器 - 的WebSQL可能不適合你的平臺的最佳選擇。 (2)在設計文檔中定義索引並使用map/reduce查詢來讀取文檔。文檔是here,並且有一些例子可以讓你開始使用,如果你不熟悉它的話。

+0

你可以通過報價,哪裏PouchDb文檔使用AllDocs和「鍵」警告性能問題?我找不到它 – WebMaster

+0

你沒有使用startkey/endkey,並且在這種情況下有關於分頁和性能的說明: 「注意:對於分頁,options.limit和options.skip也可用,但性能相同在CouchDB中應用,改爲使用startkey/endkey模式。「但我不確定這是否與你有關。 在大數據集中,即使您指定了所需的鍵,AllDocs仍會讀取所有內容。一個索引和map/reduce可能更有效率,並且不難實現,所以如果我是你,我會試試看它是否會改進。 – IanC

+0

是map/reduce掃描整個數據庫嗎? – WebMaster