如何在indexeddb中的数组元素上创建索引

时间:2014-01-03 08:46:03

标签: indexeddb

我有一个对象,

var _data = {
        teacher : {
            name : "Mack",
            subject : "Maths"
        },
        Student : [{
            name : "Alex",
            stud_id : 1
        },{
            name : "Jack",
            stud_id : 2
        },{
            name : "Mark",
            stud_id : 3
        }]

}

我想在stud_id上创建索引,我该如何创建?

2 个答案:

答案 0 :(得分:4)

我要做的是在数据库中有两个独立的对象存储库,一个代表teachers,一个代表students

然后我会存储一个teacher对象,如:

{
    name: 'John Smith',
    subject: 'Maths',
    students: [1,2,3,4,5]
}

然后我有students的商店,如:

{
    id: 1,
    name: 'Jane Doe'
}

然后我在两个商店都有一个id密钥路径(自动生成与否,取决于它是否在某处同步),因此您拥有数据所在的唯一标识符。

最后,您可以在教师的index属性上创建students并设置multiEntry flag to true,以便知道它是一个数组,您可以在其上查询对象存储作为数组,请参阅here以获取有关multiEntry索引的更多信息。

注意:在编写IE10& IE11不支持IndexedDB中的multiEntry索引。

答案 1 :(得分:0)

目前不可能。 keyPath的元素必须是字符串。

相关问题