1

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

给出以下数据结构。我想找出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 },  
    ]  
    });  
});
4

1 回答 1

1

如果您只针对 Chrome、Opera、Firefox 和 Safari 10,请使用复合索引。您可以使用 [time+pressure] 索引您的数据,这是时间和压力的组合,然后查询

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();
于 2016-09-08T14:29:29.413 回答