Maison  >  Questions et réponses  >  le corps du texte

javascript - Demander de l'aide pour une question sur indexedDB

Comme indiqué ci-dessous, la clé primaire d'une donnée que j'ai stockée est timeStamp. Ce que je sais, c'est que ces données peuvent être trouvées en obtenant la valeur de la clé primaire, mais les données ne peuvent-elles pas être récupérées en interrogeant d'autres valeurs ? Les conditions de requête similaires aux instructions SQL ne peuvent-elles pas être implémentées ? (Vérifiez-les tous, puis parcourez les résultats et éliminez-les)

db.createObjectStore('book', {
    keyPath: "timeStamp"
});

store.get(1496251171844)

Certaines personnes disent d'utiliser un index, mais l'index ne peut pas être interrogé en fonction de la valeur. Je dois encore porter un jugement. Ce que je veux, c'est directement store.get(group) pour obtenir le groupe spécifié sous le stockage d'objets.

 var book = db.createObjectStore('book', {
        keyPath: "timeStamp"
    });
  // 建立索引
book.createIndex("groupId","groupId", {unique:false});
--------------------------------------------------------

html5.indexedDB.getFromId = function(groud, callback){
    var db = html5rocks.indexedDB.db;
    var tx = db.transaction(['book'],'readwrite');
    var store = tx.objectStore('book');

  
    var index = store.index("groupId");
    request = index.openCursor();
    request.onsuccess = function(event){
        var result = event.target.result;
        if(!result){return;}
        if(result.value.groupId == groud){
            callback(result.value);
        }
        result.continue();
    };
};
某草草某草草2668 Il y a quelques jours626

répondre à tous(2)je répondrai

  • 伊谢尔伦

    伊谢尔伦2017-06-05 11:15:09

    createIndex peut ajouter plusieurs index et définir si la valeur de l'index est unique

    répondre
    0
  • 为情所困

    为情所困2017-06-05 11:15:09

    indexedDB est similaire à nosql, il ne peut s'appuyer que sur l'indexation de mots clés et il n'y a aucun moyen d'interroger par SQL. Après avoir obtenu la collection, vous pouvez utiliser la méthode js pour effectuer une recherche.

    répondre
    0
  • Annulerrépondre