javascript - async await node.js 跳过第二个 await 语句保存 mongodb

标签 javascript node.js mongodb async.js ecmascript-2017

我在 node.js ES6 中使用 await async ...

async insertIngot(body, callback) {

    console.log('*** ItemsRepository.insertIngot');

    console.log(body);

    const data = await this.getItemsTest();
    console.log('*** getItems ok');
    items = data.items;

    let item = new Ingot();

    item.ingotName = body.ingotName;
    item.formulaName = body.formulaName;
    item.items = items;

    await item.save();

    return item;
}

第一个 await 工作,然后它跳过其余代码并抛出错误:

(node:16612) DeprecationWarning: Mongoose: mpromise(mongoose 的默认 promise 库)已弃用,改为插入您自己的 promise 库:http://mongoosejs.com/docs/promises.html

最佳答案

在 mongoose 中,您需要定义要使用的 promise 类型。您正在使用内置的 es6 promises,所以要告诉 mongoose,您需要这样做:

mongoose.Promise = global.Promise;

这是文档:http://mongoosejs.com/docs/promises.html#plugging-in-your-own-promises-library

关于javascript - async await node.js 跳过第二个 await 语句保存 mongodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47457467/

相关文章:

javascript - 如何从一系列打开的窗口中引用 "original"opener 窗口?

html - 在html中用 Node 搜索mysql数据库

javascript - 如何使用 Request 和 NodeJS 到达重定向页面

node.js - 范围错误 : Invalid array buffer length Error - Reaction Commerce Installation

node.js - 使用express和vue js登录成功后如何重定向到特定页面?

javascript - jQuery 事件方法 VS。 HTML 事件属性

javascript - 还原。没有括号,导出无法正确完成

javascript - 显示数据和单选按钮并使用数据保存单选按钮的选定值

node.js - ExpressJs、Node Js、Passport - 注销后退按钮

linux - 无法连接到远程 mongodb 服务器