Для моего Databse я создал индекс с именем time
на created_at
:Неожиданное поведение сортировки по номеру/дате в IndexedDB
var os = thisDB.createObjectStore(name, { keyPath : "id" });
os.createIndex("time", "created_at", {unique: false });
Как вы можете видеть, я сохранить время как Unix целого:
entry['created_at'] = Date.new(entry['created_at']).unix();
var request = sto.add(entry);
Так что в конце концов в консоли данные выглядят следующим образом:
Мой вопрос, как я могу получить все данные в asc
или desc
созданные в направлении:
Потому что, когда я иду через данные с помощью курсора:
function open_cursor(){
var objectStore = ENTRYDB.transaction('entries').objectStore('entries').index('time');
var request = objectStore.openCursor();
request.onsuccess = function(event) {handle_open(event)};
}
function handle_open(evt){
var cursor = evt.target.result;
if (cursor) {
console.log(cursor.value);
cursor.continue();
}
}
Его не отсортированный по созданным во время ! Это случайно! THANKS
Это выглядит правильно для меня, поэтому я не могу помочь. Когда вы открываете курсор в индексе с использованием аргументов по умолчанию (неопределенный диапазон клавиш, «следующий»), результат должен быть перечислим в порядке возрастания ключа. – Josh