如何在indexeddb中选择区间值?

jvlzgdj9  于 2023-04-10  发布在  IndexedDB
关注(0)|答案(1)|浏览(222)

我的数据结构是这样的:

[{
"IdFrete":7,
"Descricao":"Frete XYZ",
"PrazoEntrega":"(Até 10 dias)",
"DescricaoArea":"TO",
"CepInicio":77000000,
"CepFim":77999999,
"PesoIni":0,
"PesoFim":5000,
"Valor":80
},{
"IdFrete":7,
"Descricao":"Frete XYZ",
"PrazoEntrega":"(Até 10 dias)",
"DescricaoArea":"SP",
"CepInicio":1000000,
"CepFim":19999999,
"PesoIni":0,
"PesoFim":5000,
"Valor":80
}]

我需要通过CepInicio和CepFim的间隔以及PesoIni和PesoFim的间隔进行选择。类似于SQL中的内容:从表中选择 *,其中(CepInicio〉=14100500和CepFim〈=14100500)和(PesoIni〉=500和PesoFim〈=500)
我尝试创建数组索引:tb.createIndex('searchFreteIdx', ['IdFrete', 'CepInicio', 'PesoIni', 'CepFim', 'PesoFim'], {unique:false,multiEntry: true});
但我认为这是错误的。而且找不到任何样本来构建这个指数

bvk5enib

bvk5enib1#

这和这些问题基本相同:
IndexedDB IDBKeyRange Compound/Multiple Index not working
Indexed DB cursor ranges on multiple properties
要同时查询多个属性,要么需要前进一个游标并跳过间隙,要么需要并行迭代多个游标。不幸的是,这相当复杂。

相关问题