Nel mio progetto sto usando il DB indicizzato del browser e vorrei recuperare alcuni oggetti dal db con ID specifici. Secondo MDN è possibile utilizzare gli intervalli per ottenere i risultati che si desidera:Ottenere identificativi specifici da Indexeddb
Secondo MDN:
// Only match "Donna"
var singleKeyRange = IDBKeyRange.only("Donna");
// Match anything past "Bill", including "Bill"
var lowerBoundKeyRange = IDBKeyRange.lowerBound("Bill");
// Match anything past "Bill", but don't include "Bill"
var lowerBoundOpenKeyRange = IDBKeyRange.lowerBound("Bill", true);
// Match anything up to, but not including, "Donna"
var upperBoundOpenKeyRange = IDBKeyRange.upperBound("Donna", true);
// Match anything between "Bill" and "Donna", but not including "Donna"
var boundKeyRange = IDBKeyRange.bound("Bill", "Donna", false, true);
// To use one of the key ranges, pass it in as the first argument of openCursor()/openKeyCursor()
index.openCursor(boundKeyRange).onsuccess = function(event) {
var cursor = event.target.result;
if (cursor) {
// Do something with the matches.
cursor.continue();
}
};
Tuttavia ciò che fai, se si desidera ottenere una matrice di ID specifici che non sono in ordine e non sono sequenziali (es: [91,819,34,24,501]) con una singola richiesta?
Mi dispiace per la confusione, quello che vorrei realizzare è di recuperare 5 record (oggetti) con questi id [91,819,34,24,501] ma con una singola richiesta senza usare un cursore. se gli id che volevo fossero ad esempio [1,2,3,4,5] allora potrei usare "IDBKeyRange.bound" ma non sono in ordine né sequenziale. Ho bisogno di oggetti con id 91 ma non di id 92, solo oggetti con id [91,819,34,24,501] e il gioco è fatto. – Syd