我使用IndexedDb存储一些数据供离线使用。我需要确保在一个objectstore中没有两个对象具有相同的特定属性。
对于ex,我的对象库中存储电影细节的对象是这样的:
{title : value1, director : value2, writer : value3, revenue : value4}
现在,当我添加数据时,我不想要2个具有相同{title,director,writer}的对象。 根据我的探索,我可以在字段上创建索引并为此索引指定unique = true。这样,对于此特定字段,没有2个对象可以具有相同的值。 但是,有没有办法在objectstore上指定这些“唯一的”字段。
答案 0 :(得分:3)
正如我在specs的最新版本中看到的,这应该是可能的。您可以通过将数组作为keypath传递来完成此操作。我没有尝试过,但这应该是解决方案。我建议你使用每晚构建的firefox来测试这个。这将为您提供最有可能实现可行的实施。
objectstore.createIndex("indexname", ["title", "director", "writer"], { unique: true });