1
我目前在我的对象存储中使用作为关键路径。使用Date作为IndexedDb中的索引并使用它进行排序
我想添加一个索引 - created
- 然后我可以使用它来获取最新的条目。我已经加入索引:
这是我最初是如何试图获取最新的条目(通过getNewest
),但预期它不工作:
const latestMediaRequest = store.getAll();
latestMediaRequest.onsuccess = function (event) {
const allData = event.target.result;
const targetEntry = allData[allData.length - 1]; // nope
}
这是如何我目前添加条目(工作):
const request = database.transaction(storeName, "readwrite")
.objectStore(storeName)
.add(dbEntry); // contains "created" timestamp
这是怎么我被GUID获得(工作):
const request = database.transaction(storeName, "readwrite")
.objectStore(storeName)
.get(mediaId);
我已经在这里创造了指数:
request.onupgradeneeded = function (event) {
const db = event.target.result;
if (db.objectStoreNames.contains(storeName)) {
db.deleteObjectStore(storeName);
}
const objectStore = db.createObjectStore(storeName, { keyPath: keyPath });
objectStore.createIndex("created", "created", { unique: false });
};
如何才能getNewest
片断进行修改,以支持一个日期索引的顺序取?我将使用它递归删除最旧的项目 - 所以我不能只存储一个“lastAdded”条目。
'openCursor(NULL, '下一页')'从最后日期开始 – Josh