如何獲取按日期字段值排序的數據?我想根據他們的開始現在()的字段值顯示所有事件?我不認爲這會很難,但我無法讓它正常工作。Firebase按日期排序的值從今天開始不起作用
我的火力點的數據是:
"events" : {
"-KwX5oG6TYNWWhLYC5rx" : {
"ends" : "2018-01-04T23:30:47.071Z",
"starts" : "2018-01-02T23:30:47.062Z",
"title" : "Event 1"
},
"-L0Id2D34D2Sd2T5oyXX" : {
"ends" : "2017-12-27T23:30:39.566Z",
"starts" : "2017-12-26T23:30:39.552Z",
"title" : "Event 2"
}
}
的代碼查詢火力數據:
const today = new Date().toISOString();
const ref = FirebaseRef.child("events").orderByChild('starts').startAt(today);
return ref.on('value', (snapshot) => {
const events = snapshot.val() || {};
// DO SOMETHING
});
我試圖存儲數據Unix時間戳以及代替ISO字符串,仍然沒有奏效。
有什麼不好的結果,當你運行該代碼? –
排序按升序排列。看起來你正在通過「今天」,除非你有將來的日子,否則它將不會返回。要降序排列,您需要獲取所有值並將其排序爲JavaScript函數。 – SynchroDynamic
@FrankvanPuffelen我看到的是一個沒有排序的列表。事件沒有按照降序和升序顯示。 – partizan