Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法读取属性';doc&x27;未定义的导入mongoose脚本_Javascript_Node.js_Mongodb_Mongoose_Import - Fatal编程技术网

Javascript 无法读取属性';doc&x27;未定义的导入mongoose脚本

Javascript 无法读取属性';doc&x27;未定义的导入mongoose脚本,javascript,node.js,mongodb,mongoose,import,Javascript,Node.js,Mongodb,Mongoose,Import,节点\u modules/mongoose/lib/model.js出现随机错误 非常奇怪,每次我运行脚本时,错误都发生在json导入的不同行上。我的json文件是valide,我可以直接从mongodb shell导入它。但是,我仍然需要通过中间件传递文件,因此我需要从脚本中获取每个文档的execute Model.create()。有人也经历过那个疯狂的时刻吗 我最基本的剧本 // Import data to database const importEntries = async() =

节点\u modules/mongoose/lib/model.js出现随机错误 非常奇怪,每次我运行脚本时,错误都发生在json导入的不同行上。我的json文件是valide,我可以直接从mongodb shell导入它。但是,我仍然需要通过中间件传递文件,因此我需要从脚本中获取每个文档的execute Model.create()。有人也经历过那个疯狂的时刻吗

我最基本的剧本

// Import data to database
const importEntries = async() => {
    try {
        await oldEntries.forEach(async(entry, index) => {

            entry.amount = entry.amount.replace(',', '.')

            if (entry.amount.startsWith('-')) {
                entry.amount = entry.amount.replace('-', '')
                entry.flow = 'expense'
            } else {
                entry.flow = 'income'
            }
        })
        fs.writeFileSync(`${__dirname}/new-entry.json`, JSON.stringify(oldEntries, null, 2))

        await Entry.create(JSON.parse(fs.readFileSync(`${__dirname}/new-entry.json`, 'utf-8')))
        console.log("Entries imported successfully");

    } catch(err) {
        console.log(err);
    }
    process.exit()
}

forEach(async(entry,index)=>
这不是一个有效的代码。我的意思是它仍将运行,但不会达到您期望的效果。@decho我应该如何正确地更正它?我自己还没有测试过,但您可以使用调用的。因此,不要使用
等待旧条目。forEach(async(entry,index)=>{
您可以尝试
等待(输入旧条目){