不推荐使用nodejs - mpromise(mongoose的默认承诺库)

时间:2017-02-16 09:04:53

标签: express mongoose

我研究很多页面,我也接受了几乎建议是添加mongoose.Promise = global.Promise;在连接之前。 这是我的代码:

var mongo = require('mongodb');
var mongoose = require('mongoose');
mongoose.Promise = global.Promise;
mongoose.connect('mongodb://localhost:27017/mean', function(err, res) {
    if (err) {
        console.log(err);
    }
    else {
        console.log('Connected to DB');
    }
});

第一次运行程序运行正常。数据被添加到数据库中。但是,在第二次,我仍然得到错误:

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

有人帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:-1)

这是一个警告,说明不推荐使用Mongoose的默认承诺库。

您应该使用第三方承诺库,例如Bluebird或Q。

以下是使用Bluebird承诺并使用它宣传Mongoose的示例:

import mongoose from "mongoose";
import Promise from "bluebird";

// promisify mongoose
Promise.promisifyAll(mongoose);

现在,您可以使用Mongoose作为承诺,它不会给您弃用的警告。