Javascript 如何在indexeddb中搜索字符串
我正在尝试在我的网站上设置搜索功能,我正在尝试查找的IndexedDB代码Javascript 如何在indexeddb中搜索字符串,javascript,search,indexeddb,Javascript,Search,Indexeddb,我正在尝试在我的网站上设置搜索功能,我正在尝试查找的IndexedDB代码 从“表”中选择“列”,其中的“列”类似于“%keyword%” 我找到了解决办法 但是我怎样才能找到“%keyword%”而不是“%keyword”?在IndexedDB中没有类似于SQL的地方 我将遍历表/对象存储值,查看当前游标列是否包含关键字: var keyword = "foo"; var transaction = db.transaction("table", "readwrite"); var objec
从“表”中选择“列”,其中的“列”类似于“%keyword%”
我找到了解决办法
但是我怎样才能找到“%keyword%”而不是“%keyword”?在IndexedDB中没有类似于SQL的地方 我将遍历表/对象存储值,查看当前游标列是否包含关键字:
var keyword = "foo";
var transaction = db.transaction("table", "readwrite");
var objectStore = transaction.objectStore("table");
var request = objectStore.openCursor();
request.onsuccess = function(event) {
var cursor = event.target.result;
if (cursor) {
if (cursor.value.column.indexOf(keyword) !== -1) {
console.log("We found a row with value: " + JSON.stringify(cursor.value));
}
cursor.continue();
}
};
我不太清楚这一切是如何工作的,所以我只是猜测,但是关于
IDBKeyRange.BOND('\uffff'+关键字,关键字+'\uffff')
?它不起作用,返回错误DataError:DOM IDBDatabase Exception 0
可能重复@Josh否,我不认为它是重复的。OP清楚地提到了不同之处。这很慢,是否应该在索引和索引值范围内更好?
var keyword = "foo";
var transaction = db.transaction("table", "readwrite");
var objectStore = transaction.objectStore("table");
var request = objectStore.openCursor();
request.onsuccess = function(event) {
var cursor = event.target.result;
if (cursor) {
if (cursor.value.column.indexOf(keyword) !== -1) {
console.log("We found a row with value: " + JSON.stringify(cursor.value));
}
cursor.continue();
}
};