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();

10 未満の IE、Edge、および Safari をターゲットにする必要がある場合は、1 つのインデックスを選択し、残りの JS フィルターを追加する必要があります。

my_db.hose.where('pressure').equals(8500).and(function (x) {
    return x.time === 30;
}).toArray();
于 2016-09-08T14:29:29.413 に答える