Mongodb Papa解析用引号呈现的第一个标头字段
我正在服务器上运行papa parse,使用以下代码读取和解析csv文件: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
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()