我對indexedDB相當陌生,並開始創建一個數據庫來傳輸WebSQL。如何在索引數據庫上創建列/對象
我想知道的是如何在indexedDB中創建字段。
例如:
tx.executeSql("CREATE TABLE IF NOT EXISTS TEMPRESULTENTRIES ("
+ " id INTEGER PRIMARY KEY AUTOINCREMENT, "
+ " instid INTEGER NOT NULL REFERENCES institutions(id) ON DELETE CASCADE, "
+ " qid INTEGER NOT NULL REFERENCES questionnaires(id) ON DELETE CASCADE, "
+ " result TEXT NOT NULL)");
我怎麼會在IndexedDB的創建相同的表。我對這部分indexedDB感到困惑。 目前,我與ID創建唯一的keyPath:
db.createObjectStore("TEMPRESULTENTRIES", {keypath: "id", autoIncrement: true});
而且我想知道如何添加,或者將要創建的其他領域?
從一個小的測試用例,我可以看到,我可以只創建列/在存儲中的對象時,我ANM填充表/存儲,如:
store.put({ObjectName: Value});
是不是正確的方法來創建在賣場對象?
最佳,Amry
所以有其他的對象領域,我需要在創建時的ObjectStore爲,首先創建的keyPath?糾正我,如果我錯了。 – amol01 2014-12-05 12:42:50
不,對象存儲中最多隻能有一個'keyPath'字段。 'keyPath'字段用於查找對象,並且必須是唯一的。您可以將任何字段的對象添加到對象存儲中,而無需重新塑造對象存儲。也就是說,'objectStore.put({keyPathField:1,f1:2,f2:3})'和'objectStore.put({keyPathField:2,g1:[1,3],g2:3})'都是允許。如果在字段中沒有任何索引,則只能使用'keyPath'字段的值查找對象存儲:'IDBObjectStore.get(2)'將產生{keyPathField:2,g1:[1,3 ],g2:3}' – 2014-12-05 13:02:45
感謝您的澄清。如果你能回答,我可以在onupgradeneeded函數上創建幾個對象存儲嗎?當我第一次創建數據庫和對象庫? – amol01 2014-12-05 13:06:34