Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在indexeddb中搜索字符串_Javascript_Search_Indexeddb - Fatal编程技术网

Javascript 如何在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

我正在尝试在我的网站上设置搜索功能,我正在尝试查找的IndexedDB代码

从“表”中选择“列”,其中的“列”类似于“%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();          
    }
};