我试图使用mongoose设置我的MongoDB数据库,但是收到了不赞成使用的警告“不赞成Mongoose:mpromise(mongoose的默认Promise库),请插入您自己的Promise库:http://mongoosejs.com/docs/promises.html”
这是我下面的server.js文件代码:
var mongoose = require('mongoose');
mongoose.promise = require('bluebird');
// mongoose.promise = global.promise;
mongoose.connect('mongodb://localhost:27017/TodoApp');
var Todo = mongoose.model('Todo', {
text: {
type: String
},
completed: {
type: Boolean
},
completedAt: {
type: Number
}
});
var newTodo = new Todo({
text: 'Cook dinner'
});
newTodo.save().then((doc) => {
console.log('Saved todo', doc);
}, (e) => {
console.log('Unable to save todo')
});
我已经尝试安装bluebird并将其用作第三方承诺,但仍然收到相同的错误消息。
答案 0 :(得分:1)
尝试使用此代码伴侣
var mongoose = require('mongoose');
mongoose.Promise = global.Promise;
mongoose.connect('mongodb://10.7.0.3:27107/data/TodoApp');
答案 1 :(得分:-1)
您应该使用
mongoose.Promise = require('bluebird');
您正在使用
mongoose.promise = require('bluebird');
我还认为您正在使用旧版的nodejs。我使用node js 8,而mongoose则采用global。默认情况下,Promise是Promise,因为nodejs 8带有原生Promise。