无法将CSV导入插入猫鼬模式

时间:2019-09-22 18:40:01

标签: mongodb mongoose csvtojson

我正在尝试将一些数据从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)时,我只是得到一个空数组。

对此可能有一个明显的解决方法,我现在看不到。非常感谢您的帮助。

非常感谢!

亚历克斯

0 个答案:

没有答案