繁体   English   中英

更新/更改indexedDB中对象的键

[英]Updating/changing keys for objects in indexedDB

我有一个使用JavaScript和IndexedDB的Web应用程序,我使用它来存储blob / uint(在Chrome中),使用索引键(唯一),我可以通过实现以下方式轻松更新blob:

var blob1=this.request.result; //the blob file(e.g. image)
var blob2=null;
var FileStorage = [
  { id: "10012", filedata:blob1 },
  { id: "10013", filedata:blob2 }
];
var objectStore = transaction.objectStore("storage");
for (var i in FileStorage) {
  var request = objectStore.put(FileStorage[1]);
  request.onsuccess = function(event) {
    console.log("success");
  };
}

我实现了.put(),而不是.add()来更新记录,在这种情况下,我更新了id为10013的filedata,

但是现在,我面临RENAME现有记录的ID的问题,例如,我想将第一条记录(id 10012)改为id:10019而不改变/修改现场记录,但我很难过找出方法。 同样,id是唯一的

Indexeddb是一个简单的文档存储,没有部分更新。 您阅读完整对象,更新它并将其完整写回。 如果频繁更新这样的元数据,则可能元数据可以单独存储。

从技术上讲,您无法更改现有记录的ID值,但如果您读取记录,将其删除,然后使用所需的ID重新写入,则结果与更改ID的结果相同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM