, PS: я только что обновил мою проблему и мой ответ, чтобы соответствовать новой спецификации.

о, прежде всего, извините за мой английский.

Я работаю в веб-проекте, который показывает, предлагает, когда я набираю что-то в поле ввода, но я хочу использовать IndexedDB для повышения скорости запросов в Firefox.

С WebSQL у меня есть это предложение:

db.transaction(function (tx) {
  var SQL = 'SELECT "column1", 
                    "column2" 
             FROM "table"
             WHERE "column1" LIKE ?
             ORDER BY "sortcolumn" DESC
             LIMIT 6';

  tx.executeSql(SQL, [searchTerm + '%'], function(tx, rs) {
    // Process code here
  });
});

Я хочу сделать то же самое с IndexedDB, и у меня есть этот код:

db.transaction(['table'], 'readonly')
  .objectStore('table')
  .index('sortcolumn')
  .openCursor(null, 'prev')
  .onsuccess = function (e) {
    e || (e = event);
    var cursor = e.target.result;
    if (cursor) {
        if (cursor.value.column1.substr(0, searchTerm.length) == searchTerm) {
            // Process code here
        } else {
            cursor.continue();
        }
    }
};

Но это слишком медленно, и мой код содержит ошибки .. Я хочу знать, есть ли лучший способ сделать это.

Спасибо за ответ.

Ответы на вопрос(3)

Ваш ответ на вопрос