2016-06-29 8 views
0

私は100レコードの生データファイルを持っています。 名前 - 開始位置は0です。 住所 - 開始位置は50です。ループバックを使用してファイルからデータを読み取る

私はこのデータ[名前と住所]を読み取り、DBに情報を保存したいと思います。 ループバックを使用してこれを実現する方法をお勧めします。

+0

node.jsファイルシステム関数を使用してファイルを読み取ることができます。しかし、実際にファイルを読み込んでデータベースを更新するためのトリガーは何ですか?これは一度だけやりますか? https://nodejs.org/api/fs.html – ASA2

+0

外部ソースから、私はCSV/XLS/XML形式でデータを受け取ります。私は各列のデータを読んで、DBを検証して更新する必要があります。外部ソースから受け取ったファイルには複数の行[レコード]が含まれます。私は各行を繰り返し、フィールドの詳細を取得する必要があります。 – Vignesh

答えて

0

これにアプローチする方法の1つは、モデルの1つにリモートメソッドを追加して実際のインポートを行い、npmから 'csv'と 'xml'のようなパッケージを使用してファイルを読み取ることです。だから、基本的な手順は以下のとおりです。

  1. はファイルを読み、実際のファイルを読み込み、データベースを更新するために、NPMからパッケージを追加し、既存のモデルにリモートメソッドを追加します。

このような何か:

// MyModel.js 
import fs = require('fs'); 
import xml = require('xml') 
import csv = require('csv') 

export function import(info, callback) { 

    // Get the current database connection. 
    var ds = this.dataSource.connector; 

    // *********************************************** 
    // ** READ FILES AND WRITE TO THE DATABASE HERE ** 
    // *********************************************** 
    // ---> 
    // *********************************************** 

    // Return results and/or error information. 
    return callback(null, data) 
} 

export function remoteMethod(model: any) { 
    model.remoteMethod(
     'import', 
     { 
      http: { verb: 'get' }, 
      accepts: {arg: 'info', type: 'data' }, 
      returns: [ 
       { arg: 'info', type: 'data' }, 
       { arg: 'data', type: 'data' } 
      ] 
     } 
    ) 
    return model; 
} 

これは、 'GET' を使用してhttp://mydomain/api/myModel/importを使用して呼び出されます。

関連する問題