Javascript Node.js:读取文件、查询数据库并写入文件
我有一个过程,在这个过程中,我得到一个具有唯一ID的csv文件。我想做以下几件事 从文件中读取,例如包含所有用户ID的文件 查询数据库从数据库中获取每个用户的更多详细信息 使用从数据库收到的结果写入另一个文件将其他详细信息写入新文件 我有以下代码Javascript Node.js:读取文件、查询数据库并写入文件,javascript,node.js,postgresql,Javascript,Node.js,Postgresql,我有一个过程,在这个过程中,我得到一个具有唯一ID的csv文件。我想做以下几件事 从文件中读取,例如包含所有用户ID的文件 查询数据库从数据库中获取每个用户的更多详细信息 使用从数据库收到的结果写入另一个文件将其他详细信息写入新文件 我有以下代码 const fs = require('fs'); const readline = require('readline'); const config = require('config'); const db = require('../../ap
const fs = require('fs');
const readline = require('readline');
const config = require('config');
const db = require('../../app/db');
async function transform(sheet) {
let rs = fs.createReadStream(sheet.path, {encoding: config.get('csv.encoding')});
const rl = readline.createInterface({
input: rs,
crlfDelay: Infinity,
});
for await(const line of rl) {
//query database, get additional information
// const { rows } = await db.query('SELECT * FROM users WHERE id = $1', [line[0]]);
//write to file
}
}
module.exports = transform;
我不确定什么是最有效的方法,因为我的文件可以包含10k到20k条记录,我不想一次向数据库发出一个查询
任何关于如何实现这一点的帮助都将非常好,谢谢
SQL导入csv
将csv文件复制到postgresql tablereference:
从id所在的用户中选择*从导入的\u csv中选择id
SQL csv文件作为postgresql表
使用file_fdw读取csv文件,如表所示:
从csv\u as\u pg\u表中选择id的用户中选择*
Javascript在内存中创建表
const{rows}=wait db.query'SELECT*FROM users ORDER BY id'
const id_to_row=id=>{…}//映射,二进制搜索。。。
const row=id_至_rowline