0
我試圖從網站加載本地PouchDB結果。一旦結果在本地加載,我不想再次下載它們。pouchDB檢索allDocs原始查詢
爲了避免這種情況,我得到了一個存在的文件列表,然後測試它是否在獲取之前加載它。
function DownloadFile($fname){
$query = {
include_docs: false,
attachments: false,
startkey: ['run',$fname].join(','),
endkey: ['run',$fname,'\uffff'].join(',')
};
db.allDocs($query).then(function (result) {
if (result.rows.length !== 0) return;
$url = './runDb/' + $fname + '/results.xml';
$.ajax({
url: $url,
type: "GET",
dataType: "xml",
contentType: "text/xml",
async: true,
success: function (results,status,xhr) {
app.ParseResults($fname,results)
}
});
}).catch(function (err) {
console.log(err);
});
}
我遇到的問題是,到時候DownloadFile
獲取的所謂的100倍和allDocs
查詢最終返回的東西,我已經不知道什麼原始的查詢返回任何結果。
PouchDb中有一種方法可以確定用於生成給定結果集的查詢參數嗎?
編輯:雖然我真的很喜歡接受的答案,但看起來這是一個愚蠢的問題。實驗(在瀏覽器中)指示$query
和$fname
將包含啓動allDocs
調用的特定調用的正確範圍值。
換句話說,我並不需要做任何事情,它只是起作用。顯然,這很大程度上取決於JS的實現,因此接受的答案更好,因爲它清楚地表明瞭期望的結果。
我常常驚訝於JavaScript變量範圍的黑暗巫師,以及它處理的奇怪場景過多。 –