【发布时间】:2021-06-27 19:45:09
【问题描述】:
我的代码工作正常,我想添加一些错误检查以确保没有空字段的对象可以插入数据库。我在使该部分正常工作时遇到了一些麻烦。数据来自本地 csv 文件,如下所示:
TempCSV.csv
name, address, ID, contactInfo
bob, 214 elm, 123, email
joe, 817 beach, 321, email
,45 hollywood,456,
应该插入前两行,但不要插入最后一行,因为它缺少 name,这是一个必填字段。所以基本上每个字段在解析时都需要检查是否为空。
这是我的代码 dbparser.js
const mongoose = require("mongoose");
const passport = require("passport");
const csvtojson = require("csvtojson");
const router = require("express").Router();
const userSchema= new mongoose.Schema({
name: String,
address: String,
ID: String,
contactInfo: String
});
const userModel= mongoose.model("User");
const async = require('async');
csvtojson()
.fromFile("TempCSV.csv")
.then(csvData => {
async.eachSeries(csvData,(data,callback) => {
let entity = {
name: data.name,
address: data.owner,
ID: data.ownerID,
};
userModel.create(entity, function(err)
{
if(err) return callback(err);
return callback(null);
})
},
(err) => {
if(err) console.log(err);
console.log("users are successfully imported!!!");
});
});
我认为添加 const userSchema 会阻止它添加空字段,但事实并非如此。 任何帮助将不胜感激。
【问题讨论】:
标签: node.js database csv parsing mongoose