如何使用dexie形成给定数据结构的查询

时间:2016-09-08 11:32:58

标签: dexie

我没有找到以下问题的答案。

给出了以下数据结构。我想找出压力为8500的时间(30)。我不知道如何在那里形成查询。

有人能帮帮我吗?谢谢。

亲切的问候

my_db.version(1).stores({  
    hose: "++, &deviceId, hoseName, *meassuredValues"  

my_db.open().then(function () {  
    my_db.hose.add({  
    deviceId: "11",  
    hoseName: "DN 20",  
    meassuredValues: [  
        { pressure: 10000, time: 0 },  
        { pressure: 9958, time: 10 },  
        { pressure: 9000, time: 20 },  
        { pressure: 8500, time: 30 },  
        { pressure: 8000, time: 40 },  
    ]  
    });  
});

1 个答案:

答案 0 :(得分:1)

如果您只定位Chrome,Opera,Firefox和Safari 10,请使用复合索引。您可以使用[时间+压力](时间和压力的组合)对数据进行索引,然后查询

my_db.hose.where('[time+pressure]').equals([30, 8500]).toArray();

如果您需要定位IE,Edge和Safari< 10,你需要选择一个索引并添加其余的JS过滤器:

my_db.hose.where('pressure').equals(8500).and(function (x) {
    return x.time === 30;
}).toArray();