Warning Нодехс Монгоосе

У меня выходит в консоли этот warning:

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

Я пробовал всего для того, чтобы он не появился у меня больше. Кто-то знает, как решать это?

var express = require('express');
var bodyParser = require('body-parser');
var assert = require('assert');
var User = require("./models/user").User;
var app = express();

app.use("/estatico", express.static('public'));

app.use(bodyParser.json()); //para peticiones application/json
app.use(bodyParser.urlencoded({extended: true}));

app.set("view engine", "jade");

app.get('/', function(req, res){
 res.render("index");
});

app.get('/login', function(req, res){
    User.find(function(err,doc) {
        console.log(doc);
        res.render("login");
    })

});

app.post('/users', function(req, res){
var user_login = new User({email: req.body.email, 
                           password: req.body.password,
                           password_confirmation: req.body.password_confirmation,
                           username: req.body.username
                          });

promise = user_login.save();

console.log(assert.ok(promise instanceof require('mpromise')));

return promise.then(function(us) {
    res.send("Datos guardados")
},function(err) {
    if(err) {
        console.log(String(err));
        res.send("Los datos no han sido guardados")
    };
})

});

app.listen(8080);

Код функционирует, сохраняет данные в случае, если формуляр будет завершен правильно и бросает ошибки в случае, если формуляр не будет завершен правильно, но: потому что warning?

2
задан 18.07.2016, 15:19
2 ответа

Видя ее documentaciГіn http://mongoosejs.com/docs/promises.html помог Мне в немного

В примере ее documentaciГіn использует ее librerГ - в обещаний bluebird, но я предпочитаю использовать родные обещания ES6.

В файле, где ты estГ©s звоня в mongoose.connect должен размещать следующее:

mongoose.Promise = global.Promise;
mongoose.connect('mongodb://localhost:27017/baseDatos');
2
ответ дан 24.11.2019, 13:49

Функционируй правильно, потому что это не ошибка, если не предупреждение, что одна из зависимостей Mongoose, в этом случае, вашей собственной спецификации Promises будь в неупотребительности и рекомендуй использовать другой книжный магазин Promises.

Документация:

В то время как mpromise его достаточно для основных случаев, передовые пользователи возможно, что они хотят использовать Ваш книжный магазин излюбленного Promises как bluebird или просто использовать книжный магазин родного Promises в ES6. Только ты должен actalizar стоимость переменной mongoose. Promise для qe указал на строителя Объекта Promise и moongoose он это использует.

var query = Band.findOne({name: "Guns N' Roses"});

// Uso de Promises nativo
mongoose.Promise = global.Promise;
assert.equal(query.exec().constructor, global.Promise);

// Uso de bluebird
mongoose.Promise = require('bluebird');
assert.equal(query.exec().constructor, require('bluebird'));

// Uso de Q.
mongoose.Promise = require('q').Promise;
assert.ok(query.exec() instanceof require('q').makePromise);
1
ответ дан 24.11.2019, 13:49