You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Dexie在IndexedDB指定列中查询多个键?

解决Dexie查询指定列多个值的问题

你需要用Dexie的anyOf()方法来实现指定列匹配多个值的查询,bulkGet()是用来根据主键批量获取数据的,所以才会不符合你的需求。

正确代码示例

const keys = [3290, 43827, 5894, 3747];
// 查询scheme_codes列值在keys数组中的所有记录
this.table('schemes').where('scheme_codes').anyOf(keys).toArray()
  .then(results => {
    // 处理查询结果
    console.log(results);
  })
  .catch(error => {
    // 捕获错误
    console.error(error);
  });

关键说明

  • anyOf()方法专门用于匹配指定列的值存在于给定数组中的记录,完全符合你的需求。
  • 如果scheme_codes列还没有建立索引,建议在定义数据库表结构时添加索引,避免全表扫描影响性能:
    // 示例:创建表时为scheme_codes添加索引
    const db = new Dexie('yourDBName');
    db.version(1).stores({
      schemes: 'id, scheme_codes' // id为主键,scheme_codes为普通索引
    });
    

内容的提问来源于stack exchange,提问作者Junaid Firdosi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 15:52:02