复合唯一索引

Composite unique index

本文关键字:索引 唯一 复合      更新时间:2023-09-26

我有一个对象存储,它包含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个索引,复合索引是单独计算的。