import()
import()
Section titled “import()”Importa dados de arquivos externos em diferentes formatos (JSON, CSV, XML) para o banco de dados.
Sintaxe
Section titled “Sintaxe”await db.import(filePath: string, options?: ImportOptions): Promise<ImportResult>Parâmetros
Section titled “Parâmetros”filePath: Caminho para o arquivo a ser importadooptions(opcional): Configurações de importaçãoformat: Formato do arquivo (auto-detectado se não especificado)merge: Mesclar com dados existentes (padrão: false)keyPrefix: Prefixo para as chaves importadastransform: Função para transformar dados durante importação
Retorno
Section titled “Retorno”{ recordsImported: number, recordsSkipped: number, errors: string[], format: string}Exemplos
Section titled “Exemplos”Importação JSON
Section titled “Importação JSON”const result = await db.import('./data/users.json');
console.log(`${result.recordsImported} usuários importados`);if (result.errors.length > 0) { console.warn('Erros encontrados:', result.errors);}Importação CSV
Section titled “Importação CSV”const result = await db.import('./data/products.csv', { keyPrefix: 'product:', transform: (row, index) => ({ id: index, name: row.name, price: parseFloat(row.price), active: row.active === 'true' })});Importação com Mesclagem
Section titled “Importação com Mesclagem”// Mesclar dados sem sobrescrever existentesconst result = await db.import('./backup.json', { merge: true});
console.log(`${result.recordsImported} novos registros`);console.log(`${result.recordsSkipped} registros já existentes`);Importação XML
Section titled “Importação XML”const result = await db.import('./config.xml', { format: 'xml', keyPrefix: 'config:'});Importação com Transformação
Section titled “Importação com Transformação”const result = await db.import('./legacy-data.csv', { transform: (row, index) => { // Normalizar dados legados return { id: `user:${row.user_id}`, name: row.full_name.trim(), email: row.email_address.toLowerCase(), createdAt: new Date(row.created_date) }; }});Formatos Suportados
Section titled “Formatos Suportados”{ "user:1": { "name": "João", "age": 25 }, "user:2": { "name": "Maria", "age": 30 }}name,age,emailJoão,25,joao@email.comMaria,30,maria@email.com<data> <record key="user:1"> <name>João</name> <age>25</age> </record></data>Casos de Uso
Section titled “Casos de Uso”- Migração de sistemas legados
- Importação de dados de planilhas
- Sincronização com APIs externas
- Restauração de backups
- Seeding de dados para desenvolvimento
title: import() description: Importa dados de um arquivo para o banco sidebar: order: 4
Section titled “title: import() description: Importa dados de um arquivo para o banco sidebar: order: 4”title: import() description: Importa dados de arquivos externos sidebar: order: 4
Section titled “title: import() description: Importa dados de arquivos externos sidebar: order: 4”import()
Section titled “import()”Importa dados de arquivos externos em diferentes formatos (JSON, CSV, XML) para o banco de dados.
Sintaxe
Section titled “Sintaxe”await db.import(filePath: string, options?: ImportOptions): Promise<ImportResult>Parâmetros
Section titled “Parâmetros”filePath: Caminho para o arquivo a ser importadooptions(opcional): Configurações de importaçãoformat: Formato do arquivo (auto-detectado se não especificado)merge: Mesclar com dados existentes (padrão: false)keyPrefix: Prefixo para as chaves importadastransform: Função para transformar dados durante importação
Retorno
Section titled “Retorno”{ recordsImported: number, recordsSkipped: number, errors: string[], format: string}Exemplos
Section titled “Exemplos”Importação JSON
Section titled “Importação JSON”const result = await db.import('./data/users.json');
console.log(`${result.recordsImported} usuários importados`);if (result.errors.length > 0) { console.warn('Erros encontrados:', result.errors);}Importação CSV
Section titled “Importação CSV”const result = await db.import('./data/products.csv', { keyPrefix: 'product:', transform: (row, index) => ({ id: index, name: row.name, price: parseFloat(row.price), active: row.active === 'true' })});Importação com Mesclagem
Section titled “Importação com Mesclagem”// Mesclar dados sem sobrescrever existentesconst result = await db.import('./backup.json', { merge: true});
console.log(`${result.recordsImported} novos registros`);console.log(`${result.recordsSkipped} registros já existentes`);Importação XML
Section titled “Importação XML”const result = await db.import('./config.xml', { format: 'xml', keyPrefix: 'config:'});Importação com Transformação
Section titled “Importação com Transformação”const result = await db.import('./legacy-data.csv', { transform: (row, index) => { // Normalizar dados legados return { id: `user:${row.user_id}`, name: row.full_name.trim(), email: row.email_address.toLowerCase(), createdAt: new Date(row.created_date) }; }});Formatos Suportados
Section titled “Formatos Suportados”{ "user:1": { "name": "João", "age": 25 }, "user:2": { "name": "Maria", "age": 30 }}name,age,emailJoão,25,joao@email.comMaria,30,maria@email.com<data> <record key="user:1"> <name>João</name> <age>25</age> </record></data>