请问一下老师,为什么没有找到数据呢

来源:3-7 indexDB-游标索引结合

weixin_慕先生7015352

2020-10-23 18:32:05

# 具体遇到的问题

# 报错信息的截图

# 相关课程内容截图

# 尝试过的解决思路和结果

# 粘贴全部相关代码,切记添加代码注释(请勿截图)

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>indexedDB</title>

</head>

<body>

    


    <script>

        var request=indexedDB.open('testDB',32);

        console.log(request);


        request.onsuccess=function(){

            console.log('数据库创建成功');

        };

        request.onerror=function(){

            console.log('数据库读取失败');

        };

        request.onupgradeneeded=function(){

            // console.log('版本号升级了');   // 版本号只能往上走,不能下降

            var db=request.result;           

 var store= db.createObjectStore('test3',{keyPath:'id'});

 store.createIndex('test3','age',{unique:true});  // unique:true是指唯一性,如果有多个同样的情况下,就不写入了

        };

var json=[{

            "id":1001,

            "name":"leo",

            "age":"23"

        },{

            "id":1002,

            "name":"busy",

            "age":"24"

        },{

            "id":1003,

            "name":"blue",

            "age":"25"

        },{

            "id":1004,

            "name":"red",

            "age":"27"

        },{

            "id":1005,

            "name":"grt",

            "age":"28"

        }]

setTimeout(function(){

            var db=request.result;

            var transaction=db.transaction('test3','readwrite');

            var store=transaction.objectStore('test3');

 var index = store.index('test3');

    var requestNode = index.openCursor(IDBKeyRange.upperBound(27));

requestNode.onsuccess = function(){

var cursor = requestNode.result;

if(cursor){


// console.log(cursor.value);

if(cursor.value.name == 'Leo'){

//console.log('1')

cursor.update({

"id":209,

"name":"Leoooo",

"age":25

});

}


console.log(cursor.value);

cursor.continue();

}

};

      },300);

    </script>

</body>

</html>

在这里输入代码,可通过选择【代码语言】突出显示

写回答

1回答

好帮手慕慕子

2020-10-23

同学你好, 因为同学的json中的age属性是字符串类型的,但是设置游标指定上限时传入的值为数字,所以无法实查找数据,建议调整为字符串类型的就可以了。

http://img.mukewang.com/climg/5f92bc6609bdee8208290183.jpg

祝学习愉快~

0

0 学习 · 6815 问题

查看课程