“Групповая вставка данных CSV с помощью NeDB”
NeDB — это легкая встроенная база данных JavaScript, обеспечивающая простой и эффективный способ хранения данных и доступа к ним. В этой статье блога мы рассмотрим различные методы массовой вставки данных CSV в базу данных NeDB. Мы предоставим примеры кода для каждого метода, чтобы помочь вам понять реализацию.
Метод 1: использование csv-парсера и async/await
const fs = require('fs');
const csv = require('csv-parser');
const Datastore = require('nedb');
const db = new Datastore();
fs.createReadStream('data.csv')
.pipe(csv())
.on('data', async (row) => {
await db.insert(row);
})
.on('end', () => {
console.log('CSV data inserted successfully');
});
Метод 2. Использование библиотеки csvtojson и Promises
const fs = require('fs');
const csv = require('csvtojson');
const Datastore = require('nedb');
const db = new Datastore();
const insertData = async (data) => {
return new Promise((resolve, reject) => {
db.insert(data, (err, newDocs) => {
if (err) {
reject(err);
} else {
resolve(newDocs);
}
});
});
};
const processData = async () => {
const jsonArray = await csv().fromFile('data.csv');
await insertData(jsonArray);
console.log('CSV data inserted successfully');
};
processData();
Метод 3. Использование библиотеки fast-csv и потоков
const fs = require('fs');
const csv = require('fast-csv');
const Datastore = require('nedb');
const db = new Datastore();
const stream = fs.createReadStream('data.csv');
const csvStream = csv()
.on('data', (data) => {
db.insert(data);
})
.on('end', () => {
console.log('CSV data inserted successfully');
});
stream.pipe(csvStream);
Это всего лишь несколько способов массовой вставки данных CSV в базу данных NeDB. Вы можете выбрать тот, который лучше всего соответствует вашим требованиям и стилю кодирования. Не забудьте установить необходимые зависимости (csv-parser, csvtojson, fast-csv) с помощью npm перед запуском примеров кода.