使用 Mongoose 将 JSON 加载到 Mongodb

Loading JSON into Mongodb using Mongoose

编辑- 这实际上很好用...如果您实际上在最后调用该函数...

我正在将 xml 文件转换为 JSON,如下所示:

const convert = require('xml-js');
const rawXml = require('./data');

const dataToJson = convert.xml2json(rawXml, {compact: true, spaces: 4});

console.log('xml to JSON worked');

module.exports = dataToJson;

然后想使用 mongoose 将其加载到我在 MongoDB 中的数据模型中。

require('dotenv').config({ path: __dirname + '/../variables.env' });


const mongoose = require('mongoose');
mongoose.connect(process.env.DATABASE);
mongoose.Promise = global.Promise;


const dataToJson = require('../convert-data');
const Data = require('../models/data_model');


console.log(dataToJson);

async function loadData() {
try {
    await Data.insertMany(dataToJson);
    console.log('It Worked!');
    process.exit();
}catch(e){
    console.log('Oops...')
    console.error(e);
    process.exit();
 }
};

loadData();

JSON 在控制台上显示正常,但在到达 loadData() 函数时什么也不做,甚至没有抛出错误。使用 MongoDb compass 显示没有任何内容被插入到数据库中。

您没有调用 loadData 函数。

async function loadData() {
try {
    await Data.insertMany(dataToJson);
    console.log('It Worked!');
    process.exit();
}catch(e){
    console.log('Oops...')
    console.error(e);
    process.exit();
 }
};

loadData();