IndexedDB 范围限制

IndexedDB range limits

我正在使用 IndexedDb 来存储一个人的城市、电子邮件 ID 和 created_at。 我想通过有效的电子邮件获取某个城市的所有人,并按 created_at 日期排序。

我有一个这样的复合索引查询:

var     city = "chennai";
var     index_name = "city, " + "email, " + "created_at";
var     index   = store.index(index_name);
var     boundedKeyRange = IDBKeyRange.bound([city, "", 0], [city, ??, ""]);

index.openCursor(boundedKeyRange, "prev").onsuccess = function(e) {
    var cursor = e.target.result;

    if  (cursor) {
         // Check if email is valid and add it to an array
    }
    else {
          // resolve a promise
    }
}

我遇到的问题是我不知道如何为电子邮件 ID 设置 'upper range' 因为 @ 是一个特殊字符 我不确定设置上限以包含所有电子邮件 ID查询。

谢谢

迪帕克

字符串的上限可以取'\uFFFF'[]

无论如何,您的查询将不起作用,因为您有两个范围查询,"email" 和 "created_at"。您只能有一个键范围查询。