IndexedDB:查询索引值“包含”

时间:2012-01-18 18:51:07

标签: javascript indexeddb

我认为答案是“你不能这样做”,但我想确定。假设我有一个对象:

var person = {
    name: 'Joe',
    phoneNumbers: [ '5555554455', '4445554455' ]
};

我想在phoneNumbers上创建一个索引:

objectStore.createIndex('phoneNumberIndex', 'phoneNumbers');

稍后我想查询具有特定phoneNumber的人:

index.get('4445554455').onsuccess = function(event) {
    // Anything?
};

会产生结果吗?如果没有,还有另一种方法吗?

2 个答案:

答案 0 :(得分:5)

这样的事情应该有效:

objectStore.createIndex("phoneNumberIndex", "phoneNumber", { multiEntry: true });
objectStore.index("phoneNumberIndex").get("4445554455").onsuccess = function(e) {
  console.log(JSON.stringify(e.target.result));
}

答案 1 :(得分:4)

我认为您可以使用createIndex的{multientry: true}参数。