我目前正在使用indexdDB来存储销售商店中某些记录的离线数据。商店有id,shopname和lastsaledate等列。我想要一些帮助,使用indexedDB执行与以下SQL语句相同的操作:
SELECT MAX(LastSaleDate) FROM Sales;
有什么建议吗?
答案 0 :(得分:0)
确保您拥有lastsaledate属性的索引,例如:升级数据库时:
store.createIndex('by_lastsaledate', 'lastsaledate');
查询时,使用反向光标('prev')和空范围(即所有记录):
var store = transaction.objectStore('records');
var index = store.index('by_lastsaledate');
var request = index.openCursor(/*query*/null, /*direction*/'prev');
request.onsuccess = function() {
var cursor = request.result;
if (cursor) {
console.log('max date is: ' + cursor.key);
} else {
console.log('no records!');
}
};