复合唯一索引

Composite unique index

我有一个包含 3 个索引的对象存储,它们是 namevalueuserid。如何从 nameuserid 创建复合唯一索引?

这是我倾向于做的事情:

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

keyPath 够好吗?我需要添加另一个唯一索引吗?

您使用createObjectStore方法设置的索引默认是唯一的。

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

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

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

您的商店有 4 个索引,复合索引算作单独索引。