复合唯一索引

时间:2015-03-04 03:06:55

标签: javascript indexeddb composite-key

我有一个包含3个索引的对象库,分别是namevalueuserid。如何从nameuserid创建复合唯一索引?

这是我倾向于做的事情:

var objectStore = database.createObjectStore('data',{keyPath : ['name','userid']});
objectStore.createIndex('name','name');
objectStore.createIndex('value','value');
objectStore.createIndex('userid','userid');

keyPath是否足够好?我是否需要添加另一个唯一索引?

1 个答案:

答案 0 :(得分:3)

默认情况下,使用createObjectStore方法设置的索引是唯一的。

var objectStore = database.createObjectStore('data', { keyPath: ['name','userid']});

如果要向商店添加多个唯一索引,可以使用以下代码:

objectStore.createIndex('namevalue', ['name','value'], {unique: true});

您的商店有4个索引,复合索引计为单独的。