I have some JSON which looks like this which is declared as a variable called "jsonObjSuper":
{
"Watchlist": "My Watchlist",
"Instruments": {
"instrument1": [
"Company ABC",
[
{
"snapshotTimeUTC": "2018-11-01T00:00:00",
"snapshotTime": "2018/11/01 00:00:00"
}
]
],
"instrument2": [
"Company XYZ",
[
{
"snapshotTimeUTC": "2018-11-01T00:00:00",
"snapshotTime": "2018/11/01 00:00:00"
}
]
]
}
}
I'm trying assign a keyPath for an IndexedDB using the "Watchlist" - code below:
request.onupgradeneeded = function(event) {
var db = event.target.result;
var key = jsonObjSuper["Watchlist"]
var objectStore = db.createObjectStore("instruments", { keyPath: key});
}
but when I try this, I get this error:
"Uncaught DOMException: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path."
If I do a console.log on the "key" variable the value that pulls through is "My Watchlist" as expected.
I did also try to JSON.stringify the "key" variable to see if that made a difference but still got an error.
What could be causing it?
Many thanks