dex ie для использования фильтра при экспорте и импорте (dex ie -export-import) - PullRequest
1 голос
/ 10 марта 2020

У меня есть две таблицы в базе данных dex ie, и я пытаюсь экспортировать-импортировать только одну из них с помощью dex ie -export-import.
Официальный документ dex ie говорит, что у вас есть фильтр как дополнительный параметр

//Optional filter allows to import/export subset of data
export interface ExportOptions {
  noTransaction?: boolean;
  numRowsPerChunk?: number;
  prettyJson?: boolean;
  filter?: (table: string, value: any, key?: any) => boolean;
  progressCallback?: (progress: ExportProgress) => boolean;
}

может кто-нибудь показать мне, как использовать этот параметр фильтра ...
что-то вроде

database.export({prettyJson: true, filter: (table: 'A', value: '', key: '') => true});

Ответы [ 2 ]

1 голос
/ 10 марта 2020

Более упрощенная версия ответа:

Для экспорта

const blob = await database.export({prettyJson: true, filter: (table, value, key) => table === 'YOUR_TABLE_NAME'});

Для импорта

await database.import(blob, {prettyJson: true, filter: (table, value, key) => table === 'YOUR_TABLE_NAME'});
1 голос
/ 10 марта 2020
import {exportDB} from "dexie-export-import";

function exportSingleTable(db, tableName) {
  return exportDB(db, {filter: (table, value, key) => table === tableName});
}

exportSingleTable(yourDexieInstance, "yourTableNameToExport").then(blob => {
  alert("done");
  // Result is in blob
}).catch(error => {
  alert("error: " + error);
});
...