我有这个代码:
var MetaUtil = require('osm-meta-util');
var meta = MetaUtil({
'delay': 1000,
'start': '000598424', //file number
'end': '001122000' //file number
}).pipe(process.stdout) //outputs to console
如何将输出传递给Json文件,以便稍后将其上传到Postgresql数据库.
带着敬意
安德烈
最佳答案 创建一个文件可写流和管道数据:
var fs = require('fs');
var file = fs.createWriteStream('./output.json')
MetaUtil({
'delay': 1000,
'start': '000598424', //file number
'end': '001122000' //file number
}).pipe(file);
反之,使用可读流从文件中读取数据,并根据您使用的数据库框架将其插入数据库.
我不熟悉postres,但pg-copy-streams
似乎是为它提供此功能的:
var fs = require('fs');
var pg = require('pg');
var copyFrom = require('pg-copy-streams').from;
pg.connect(function(err, client, done) {
var stream = client.query(copyFrom('COPY my_table FROM STDIN'));
var fileStream = fs.createReadStream('some_file.tsv')
fileStream.on('error', done);
fileStream.pipe(stream).on('finish', done).on('error', done);
});