0

インデックス付きデータベースでカスタム構造を定義したいと考えています。インデックス付きデータベースでドキュメント構造を定義するにはどうすればよいですか?

まあ言ってみれば:

私は1人のクラスを持っています

export class People {
    id : number
    name: string
    lists: LookUp[]

    constructor() { }
}

LookUp クラスは次のとおりです。

export class LookUp {
    id: number
    name: string

    constructor() { }
}

単純な構造として、以下のように定義します。

const dbConfig: DBConfig = {
    name: 'MyDb',
    version: 1,
    objectStoresMeta: [{
        store: 'people',
        storeConfig: { keyPath: 'id', autoIncrement: true },
        storeSchema: [
            { name: 'name', keypath: 'name', options: { unique: false } }
        ]
    }]
};

今、私はリストの定義(lists: LookUp[])にこだわっています。リストを定義するにはどうすればよいですか?

4

1 に答える 1

0

解決する糸口が見えました。

次のように定義します。

const dbConfig: DBConfig = {
    name: 'MyDb',
    version: 1,
    objectStoresMeta: [{
        store: 'people',
        storeConfig: { keyPath: 'id', autoIncrement: true },
        storeSchema: [
            { name: 'name', keypath: 'name', options: { unique: false } },
            { name: 'lists', keypath: 'lists', options: { unique: false } }
        ]
    }]
};

次のようにデータを追加します。

 this.dbService
      .bulkAdd('people', [
        {
          name: 'ABC',
          lists: [{
            id: 1,
            name: 'Harshad'
          },
          {
            id: 2,
            name: 'Nayan'
          }

          ]
        },
        {
          name: 'DEF',
          lists: [{
            id: 3,
            name: 'Gaurang'
          },
          {
            id: 4,
            name: 'Dharmik'
          }

          ]
        }
      ])
      .subscribe((result) => {
        console.log('result: ', result);
      });

それは私の問題を解決します。

于 2021-06-28T05:56:38.923 に答える