我的问题是关注Dexie库,但我想它可能对javascript中的每个类json结构都有效,所以在这里:
我有一个IndexedDB库(Dexie)在本地内存上创建了多个表,每次添加记录时都使用以下结构:
db.transaction('rw', db.table1, db.table2, ... , function() {
db.table1.add({
field101: value101,
field102: value102,
field103: value103,
field104: value104,
field105: value105,
field106: value106,
field107: value107,
field108: value108,
field109: value109,
field110: value110,
field111: value111
});
db.table2.add({
field201: value201,
field202: value202,
field203: value203,
field204: value204,
field205: value205
});
.
.
.
});
当我想修改数据时,代码如下:
db.transaction('rw', db.table1, db.table2, ... , function() {
bbdd.table1.where("value101").equals(x).modify({
field102: value102,
field103: value103,
field104: value104,
field105: value105,
field106: value106,
field107: value107,
field108: value108,
field109: value109,
field110: value110,
field111: value111
});
bbdd.table2.where("value201").equals(x).modify({
field202: value202,
field203: value203,
field204: value204,
field205: value205
});
.
.
.
});
我想减少代码只使用这些结构中的每一个。如果只有2个表就可以了,但是有大约12个表,它占用了大量空间(并且在发生变化时不得不改变两次)。
由于代码大致相同,我想添加一个变量,其中包含添加或修改括号内的所有这些字段,但我不知道如何做到这一点。此外,在修改代码中,不包括每个表的第一个值(它在修改条件中使用)。
我也谈到了一个javascript函数,但是又一次 - 我不确定在这种情况下该怎么做。
有什么建议吗?
非常感谢