Mongodb Papa解析用引号呈现的第一个标头字段

Mongodb Papa解析用引号呈现的第一个标头字段,mongodb,mongoose,papaparse,Mongodb,Mongoose,Papaparse,我正在服务器上运行papa parse,使用以下代码读取和解析csv文件: function getData() { console.log("Started getData..."); const file = fs.createReadStream(filePath); papa.parse(file, { header: true, complete: createRecord }); } 我的完整回调函数如下所示: fun

我正在服务器上运行papa parse,使用以下代码读取和解析csv文件:

function getData() {
    console.log("Started getData...");
    const file = fs.createReadStream(filePath);
    papa.parse(file, {
        header: true,
        complete: createRecord
    });
}
我的完整回调函数如下所示:

function createRecord(row, file) {
    records = row.data;
    console.log("Started createRecord...");
    records.forEach((record) => {
        console.log(record)
        Activity.create(record);
    });
}
{
  'Activity_Date': '2018-08-28',
  Time_Start: '2018-08-28 20:20',
  Time_End: '2018-08-28 21:01',
  Duration: 0.027962963,
  Subject: 'CS410',
  Semester: 'Fall 2018',
  Week: 1,
  Task: 'Lectures',
  Day: 2
}
const mongoose = require("mongoose");

const activitySchema = new mongoose.Schema({
    Activity_Date: String,
    Time_Start: String,
    Time_End: String,
    Duration: Number,
    Subject: String,
    Semester: String,
    Week: Number,
    Task: String,
    Day: Number
});

module.exports = mongoose.model("Activity", activitySchema)
然后我将其写入MondoDB数据库。除了papa解析的第一个字段名之外,其他一切都很好。上述
控制台.log(record)
调用的记录输出如下所示:

function createRecord(row, file) {
    records = row.data;
    console.log("Started createRecord...");
    records.forEach((record) => {
        console.log(record)
        Activity.create(record);
    });
}
{
  'Activity_Date': '2018-08-28',
  Time_Start: '2018-08-28 20:20',
  Time_End: '2018-08-28 21:01',
  Duration: 0.027962963,
  Subject: 'CS410',
  Semester: 'Fall 2018',
  Week: 1,
  Task: 'Lectures',
  Day: 2
}
const mongoose = require("mongoose");

const activitySchema = new mongoose.Schema({
    Activity_Date: String,
    Time_Start: String,
    Time_End: String,
    Duration: Number,
    Subject: String,
    Semester: String,
    Week: Number,
    Task: String,
    Day: Number
});

module.exports = mongoose.model("Activity", activitySchema)
注意
Activity\u Date
周围的引号。这会导致Mongo忽略第一个字段,只将其余字段提交到数据库

尝试以不同方式编辑csv文件并没有产生任何有用的结果。奇怪的是,如果我查看papaparse中的元数据,它会给我字段名,而没有qoutes

活动的Mongo架构如下所示:

function createRecord(row, file) {
    records = row.data;
    console.log("Started createRecord...");
    records.forEach((record) => {
        console.log(record)
        Activity.create(record);
    });
}
{
  'Activity_Date': '2018-08-28',
  Time_Start: '2018-08-28 20:20',
  Time_End: '2018-08-28 21:01',
  Duration: 0.027962963,
  Subject: 'CS410',
  Semester: 'Fall 2018',
  Week: 1,
  Task: 'Lectures',
  Day: 2
}
const mongoose = require("mongoose");

const activitySchema = new mongoose.Schema({
    Activity_Date: String,
    Time_Start: String,
    Time_End: String,
    Duration: Number,
    Subject: String,
    Semester: String,
    Week: Number,
    Task: String,
    Day: Number
});

module.exports = mongoose.model("Activity", activitySchema)
任何帮助摆脱报价将是非常欢迎的


谢谢

已经有一段时间没有人问了,但我会留下对我有用的东西。尝试在配置对象中使用此选项:

transformHeader:h=>h.trim()