【问题标题】:pipe() data to Json file or to PostgreSQLpipe() 数据到 Json 文件或到 PostgreSQL
【发布时间】:2016-03-19 19:31:17
【问题描述】:

我有这个代码:

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 数据库。

问候

安德烈

【问题讨论】:

    标签: javascript json node.js postgresql


    【解决方案1】:

    创建一个文件可写流并将数据传输到其中:

    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);
    });
    

    【讨论】:

    • 非常感谢。工作中 。你能给我一些链接到教如何操作输入/输出流的教程吗?
    猜你喜欢
    • 1970-01-01
    • 2020-12-26
    • 1970-01-01
    • 1970-01-01
    • 2017-10-16
    • 2016-10-25
    • 1970-01-01
    • 1970-01-01
    • 2013-06-23
    相关资源
    最近更新 更多