如何使用 NgxIndexedDB 从 indexedDB 索引中获取多条记录?

How do I get multiple records from an indexedDB index using NgxIndexedDB?

我使用 NgxIndexedDB 创建了一个 IndexedDB 数据库并创建了一个不唯一的索引。当我使用 getByIndex() 读取记录时,它只返回一条记录,尽管我知道有更多记录匹配。获取所有匹配记录的机制是什么?

this.db = new NgxIndexedDB(‘mydb’, 1);
this.db.openDatabase(1, evt => {
  let objectStore = evt.currentTarget.result.createObjectStore(‘amp’, 
    {keyPath: '_id', autoIncrement: false });
  console.log("Open DB is called...")
  objectStore.createIndex(‘empname’, ‘empname’, { unique: false });
});

this.db.getByIndex(‘amp,’empname’,’Dave’).then(names => {
  console.log(names);
  resolve(names);  
},
error => {
  console.log(error);
});

经过反复试验,我能够按照 Josh 的提示使用 getAll 函数来完成。谢谢乔希。方法在这里。

  this.db.openDatabase(1, evt => {
      let objectStore = evt.currentTarget.result.createObjectStore(‘empCollection’, { keyPath: '_id', autoIncrement: false });
      console.log("Open DB is called...")
      objectStore.createIndex(‘empname’, ‘empname’, { unique: false });
    });


    let index_detail:IndexDetails = {
      indexName: 'empname',
      order: 'asc'
    }


 this.db.getAll(‘empCollection’,IDBKeyRange.only(“Dave”),index_details).then(
          names => {
            console.log(names);
          },
          error => {
            console.log(error);
          }
        );