Angularjs 使用HTML5 indexDB存储多个对象

Angularjs 使用HTML5 indexDB存储多个对象,angularjs,html,Angularjs,Html,我有以下格式的JSON对象 $scope.indexData = { "custid": "1", "addresses": [ { "addressType": "P", "address1": "" }, { "addressType": "M" } ], "personalDetails": { "title": "", "name": "" } } 我想使用HTML5

我有以下格式的JSON对象

$scope.indexData = {
  "custid": "1",
  "addresses": [
    {
      "addressType": "P",
      "address1": ""
    },
    {
      "addressType": "M"
    }
  ],
  "personalDetails": {
    "title": "",
    "name": ""       
  }
}
我想使用HTML5 indexDB存储对象。如何存储对象

我试着用下面的方法,但没有成功

var db;
var request = window.indexedDB.open("newDatabase", 1);
request.onupgradeneeded = function(event) {
 var db = event.target.result;
        var objectStore = db.createObjectStore("customers");
        for (var i in $scope.indexData) {
                objectStore.add($scope.indexData[i]);      
        }

}

我收到以下错误消息:
Uncaught DataError:未能在“IDBObjectStore”上执行“add”:对象存储使用外线键,没有键生成器,并且未提供键参数。

您指定的键路径指示存储使用内线键。您的代码可能如下所示:

var db;
var request = window.indexedDB.open("newDatabase", 1);
request.onupgradeneeded = function(event) {
 var db = event.target.result;
        var objectStore = db.createObjectStore("customers",{keyPath: "isbn"});
        for (var i in $scope.indexData) {
                objectStore.add({i:$scope.indexData[i], isbn:i});      
        }

}