REST API中是否有相當於startAt(value, [key])
?特別是可選的關鍵參數。通過屬性上的REST API分頁Firebase數據,無重複
https://www.firebase.com/docs/web/api/query/startat.html
詳情:
我通過收集有關使用REST API的屬性(的dueDate)分頁。通過工作分頁,但由於dueDate的值不是唯一的,每個後續頁面可能包含多個重複項。在最糟糕的情況下,日期可能會多於頁面大小,這會破壞分頁。
由於Firebase通過作品分頁的方式,我期待1個重複項,即上一頁中的最後一項。
JS SDK startAt方法支持第二個參數,用於在進行下一個查詢時提供最後一個鍵,但這似乎不存在,或者未在REST API中記錄。
無用的是,REST API文檔不提供查詢參數的完整規範,只提供像「auth」和「shallow」這樣的REST特定的參數。
排序依據
參見有序數據的指南中的部分獲取更多信息。
limitToFirst,limitToLast,startAt,ENDAT,equalTo
參見有關詳細信息,查詢數據在引導部分。
文檔:https://firebase.google.com/docs/reference/rest/database/#section-query-parameters
中的的NodeJS要求:
var request = require('request-promise');
var startAt = 0
var now = new Date().getTime(); // calculate once per paginated query
getPage(startAt, now)
// then process page
// then get the next page
// etc
function getPage(startAt, endAt, lastId) {
var params = {
auth: /* ... auth token ... */,
orderBy: '"dueDate"',
startAt: startDate, /* startDate is a Unix timestamp in milliseconds */
endAt: endAt,
limitToFirst: 1000
};
return request.get({
url: 'https://my-firebase.firebaseio.com/todos.json',
qs: params,
json: true,
timeout: 20000 /* ms */
});
}
我已經看過Firebase REST API: How to fetch data by priority like startAt/endAt in JS?。較新的答案指的是舊的文檔,如上所述,除非我錯過了某些東西,否則不會回答這個問題。我已閱讀舊文檔和新文檔頁面中REST部分的所有內容。