猫鼬:不推荐使用mpromise(猫鼬的默认Promise库) [英] Mongoose: mpromise (mongoose's default promise library) is deprecated

查看:73
本文介绍了猫鼬:不推荐使用mpromise(猫鼬的默认Promise库)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Internet上流行的修复程序,但是它仍然无法正常工作...这是我的代码:

I am using popular fix from Internet, but it still ain't working... here is my code:

var Lobby = require('../models/lobbies-model');
var mongoose = require('mongoose');

mongoose.Promise = require('bluebird');
mongoose.connect('localhost:27017/mydb');
var lobbies = [
    new Lobby({
        nickname: 'Nickname1',
        status: "Status1",
    }),
    new Lobby({
        nickname: 'Nickname2',
        status: "Status2",
    })
];

var done = 0;
for (var i = 0; i < lobbies.length; i++) {
    lobbies[i].save(function(err, result) {
        done++;
        console.log(result);
        if (done === lobbies.length) {
            exit();
        }
    });
}

function exit() {
    mongoose.disconnect();
}

在我的控制台和结果中出现错误...

And have an error in my console and my result...

(node:1108) DeprecationWarning: Mongoose: mpromise (mongoose's default promise library) is deprecated, plug in your own promise library instead: http://mongoosejs.com/docs/promises.html
undefined
undefined

如何解决该错误?

推荐答案

如此处所述

As stated here https://github.com/Automattic/mongoose/issues/4291#issuecomment-230312093 a workaround is to use mongoose.Promise = global.Promise; before the connect:

  mongoose.Promise = global.Promise; // ADD THIS
  mongoose.connect('localhost:27017/mydb');

这篇关于猫鼬:不推荐使用mpromise(猫鼬的默认Promise库)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆