2017-03-08 4 views
0

ich beliebte fix aus dem Internet verwende, aber es ist immer noch nicht funktioniert ... hier ist mein Code:Mongoose: mpromise (default Versprechen Bibliothek Mungo) ist veraltet

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(); 
} 

Und einen Fehler haben in meinem Konsole und mein Ergebnis ...

(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 

Wie dieser Fehler beheben?

+0

Versuchen Sie, die 'var Lobby bewegen = require ('../ Modelle/Lobbys-Modell');' Linie nach dir 'Mungo. Promise'. – JohnnyHK

Antwort

1

Wie hier https://github.com/Automattic/mongoose/issues/4291#issuecomment-230312093 erklärte eine Abhilfe ist mongoose.Promise = global.Promise; vor dem connect zu verwenden:

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

erste Zeile und zweite Zeile sollten nur einen von ihnen behalten, richtig? –

+0

Yep, aktualisiert, sollten Sie Bluebird mit so etwas hinzufügen http://bluebirdjs.com/docs/api/promisification.html –

+0

Das OP ruft bereits 'mongoose.Promise = erfordern ('bluebird');' in ihrem Code . – JohnnyHK

Verwandte Themen