IndexedDB 如何在同一个属性的dexie查询中有多个where子句?

jyztefdp  于 2022-12-09  发布在  IndexedDB
关注(0)|答案(1)|浏览(218)

我有一个字符串数组,它在dexie中被索引。我需要编写一个查询,搜索没有字符串(a)而有字符串(B)的行。我可以用第一个条件来完成,但对于第二个条件,我不能在 notEqual 之后应用where子句,因为它返回 collection,where只能应用于 table object

db.table.where('array').notEqual('String(a)').toArray()

有没有可能应用第二个where子句,或者有没有其他方法来实现这个目标?
EDIT:其他可能的解决方案,不使用多个where子句。

db.table.toCollection(function (e) { 
  return (!e.array.includes('String(a)') && e.array.includes('String(b)')) 
}).toArray()
moiiocjp

moiiocjp1#

你可以这样做

db.table.where('key1').notEqual('String(a)').and('key2').notEqual('String(b)').toArray()

相关问题