使用loopback从文件中读取数据

时间:2016-06-29 09:42:59

标签: loopbackjs

我有一个包含100条记录的原始数据文件。 名称 - 起始位置为0。 地址 - 起始位置为50。

我想读取此数据[名称和地址]并进行验证并将信息存储在DB中。 请建议如何通过环回实现这一目标。

1 个答案:

答案 0 :(得分:1)

解决此问题的一种方法是向您的某个模型添加远程方法以进行实际导入,然后使用{{3}中的“csv”和“xml”等软件包阅读文件。所以,基本步骤是:

  1. 向现有模型添加远程方法
  2. 从npm添加包以读取实际文件
  3. 阅读文件并更新数据库。
  4. 这样的事情:

    // 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”将npm调用。