我对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