Indexing 使用多个索引从IndexedDB数据库中选择

Indexing 使用多个索引从IndexedDB数据库中选择,indexing,multiple-columns,indexeddb,Indexing,Multiple Columns,Indexeddb,我的每个IndexedDB对象都具有以下格式: object: { objectName: "someName" objectTest: "someTest" objectAge: "someAge" } 那么我已经设置了以下索引: storeObject.createIndex( "by_objectName", "objectName", { unique: false } ); storeObject.createIndex( "by_objectTest"

我的每个IndexedDB对象都具有以下格式:

object:
{
     objectName: "someName"
     objectTest: "someTest"
     objectAge: "someAge"
}
那么我已经设置了以下索引:

storeObject.createIndex( "by_objectName", "objectName", { unique: false } );
storeObject.createIndex( "by_objectTest", "objectTest", { unique: false } );
storeObject.createIndex( "by_objectAge", "objectAge", { unique: false } );
因此,首先,我想按objectName循环遍历我的所有对象(这是有效的):

因此,上面的代码将获取所有对象,并按objectName对它们进行排序。 如何使所有具有
objectTest:“certainValue”
的对象和按objectName排序的对象保持与上述示例中的相同。我需要在
if(openedIndex){
行之前过滤结果列表,因为我需要在循环的后面使用
numItemsInIndex

换句话说,如果这是关系数据库,如何实现:

SELECT * FROM objects WHERE objectTest = "certainValue" SORT BY objectName

通过将keyPath参数定义为数组createIndex,您可以一次在两个属性上创建索引。使用您希望排序的属性作为数组中的第一项。例如,请参阅我的其他文章,如以下文章:

可能重复的
SELECT * FROM objects WHERE objectTest = "certainValue" SORT BY objectName