首页 > 解决方案 > 如何通过 JSON 数据创建新记录

问题描述

在这里,每当我创建一个csv文件并上传它时,我对如何创建新记录有一些困难,那么现在我该如何通过这个创建新记录,请帮助我。!

这是我的 CSV 文件。

名称、公司 ID、引擎 ID、颜色 ID

汽车1,123,123,123

汽车2,456,456,456


uploadAvatar: function (req, res) {

    let fileInputName = 'assets/excel/carData.csv';
    let fileOutputName = 'myOutputFile.json';

    req.file('excel').upload({
      // don't allow the total upload size to exceed ~10MB
      dirname: require('path').resolve(sails.config.appPath, './assets/excel'),
      saveAs: 'carData.csv',
      maxBytes: 10000000
    }, function whenDone(err, uploadedFiles) {
      if (err) {
        return res.serverError(err);
      }
      // If no files were uploaded, respond with an error.
      if (uploadedFiles.length === 0) {
        return res.badRequest('No file was uploaded');
      }


      csvToJson.generateJsonFileFromCsv(fileInputName, fileOutputName);
      csvToJson.fieldDelimiter(',') .getJsonFromCsv(fileInputName);
      let json = csvToJson.getJsonFromCsv("assets/excel/carData.csv");
      csvToJson.formatValueByType().getJsonFromCsv(fileInputName);

      //var result = [];
      var name = "";
      var comapanyId = "";
      var engineId = "";
      var colorId = "";
      
      for (let i = 0; i < json.length; i++) {
        console.log(json[i]);
        **// How to create new record ?**
      }

      return res.json({
        message: uploadedFiles.length + ' file(s) uploaded successfully!',
      });

    });

  },

这是我的模型文件

module.exports = {
  tableName: 'Car',
  schema: true,
  attributes: {
    name: {
      type: 'STRING'
    },
    companyId: {
      model: 'Master',
      columnName: 'companyId'
    },
    engineId: {
      model: 'Master',
      columnName: 'engineId'
    },
    colorId: {
      model: 'Master',
      columnName: 'colorId'
    },
    car: {
      collection: 'Order',
      via: 'carId'
    },
  },

};

标签: node.jsarraysjsonmongodbsails.js

解决方案


您必须调用 .createEach([cars]) 方法。


推荐阅读