0
所以,我剛剛做了一個大「哦!時刻。查詢IndexedDB&AngularJS上的MomentJS日期 - 日期與字符串
我在離線應用程序中使用MomentJS和AngularJS和IndexedDB。
我的所有記錄都根據對象的date屬性與索引date_idx
一起存儲。
問題是當我嘗試運行基於使用下面的代碼查詢日期:
$scope.redoresults = function(){
$indexedDB.openStore('records', function(store){
$scope.upper = moment($scope.dates.endDate).format("DD[/]MM[/]YYYY");
$scope.downer = moment($scope.dates.startDate).format("DD[/]MM[/]YYYY");
var find = store.query();
find = find.$between($scope.downer, $scope.upper, false, false);
find = find.$index("date_idx");
store.eachWhere(find).then(function(e){
$scope.daterange = e;
console.log($scope.daterange);
});
});
};
查詢提供了奇怪的結果,有時是正確的,有時沒有。 直到我意識到我實際上是在查詢字符串,而不是日期。 因此,在01/08/2016和31/08/2016之間查詢的查詢,仍然會爲我提供包含20/09/2016的結果,因爲作爲一個數字它確實在該範圍之間。
我覺得我錯過了一些結構明智的東西。
有關如何解決此問題的任何評論?
我應該針對其他索引進行查詢嗎?但是,我怎樣才能比較日期?
將日期存儲爲ISO字符串或時間戳 – charlietfl