我正在尝试将一些数据从CSV文件导入到mongoDB。尽管导入本身工作得很好(我可以在console.log数组中没有任何错误),但是我仍然无法将此数组插入到猫鼬模式中。
var mongoose = require ("mongoose");
var CSVToJSON = require("csvtojson");
var FileSystem = require("fs");
mongoose.connect("mongodb://localhost/FinanceApp", {useNewUrlParser: true, useUnifiedTopology: true});
var userSchema = new mongoose.Schema({
name: String,
email: String,
accounts: {
name: String,
tags: [String],
IBAN: String,
amount:
[{
date: String,
sum: String
}]
}
});
var User = mongoose.model("User", userSchema);
var importedData = [];
var arr = [];
var max;
CSVToJSON().fromFile("./DatenImport.csv").then(source => {
importedData = source;
max = importedData.length;
for (var i = 0; i < max; i++) {
arr.push({ date: importedData[i].date, sum: importedData[i].sum });
};
});
到目前为止,它一直在工作-console.log(importedData)和console.log(arr)都可以打印正确的结果:
示例:
[{date: "01.06.2019", sum: "1234.56"}, {date: "02.06.2019", sum: "2345.67"}]
-
User.create({
name: "Max Mustermann",
email: "Max.Mustermann@yahoo.com",
accounts: {
name: "Tabu",
tags: ["Reserve", "gesperrt"],
IBAN: "DE41 12345678910",
amount: arr
}
}, function(err, user) {
if(err) {
console.log("Error: " + err);
} else {
console.log("Success!");
console.log(user.accounts.amount);
}
});
问题来了。尽管变量arr似乎很好,但我无法将其传输到mongoDB。当我尝试console.log(user.accounts.amount)时,我只是得到一个空数组。
对此可能有一个明显的解决方法,我现在看不到。非常感谢您的帮助。
非常感谢!
亚历克斯