重新排列Dexie Json般的结构

时间:2017-06-17 05:42:02

标签: javascript dexie

我的问题是关注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函数,但是又一次 - 我不确定在这种情况下该怎么做。

有什么建议吗?

非常感谢

0 个答案:

没有答案