Я пытаюсь настроить базу данных mongoDB с помощью mongoose, но получаю сообщение об ошибке «Библиотека обещаний по умолчанию для mongoose устарела» - PullRequest
0 голосов
/ 19 января 2019

Я пытаюсь настроить базу данных MongoDB с помощью mongoose, но получаю устаревшее предупреждение: Mongoose: mpromise (библиотека обещаний по умолчанию для mongoose) устарела, вместо этого подключите собственную библиотеку обещаний: 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 и использовать его в качестве обещания третьей стороны, но все равно получаю то же сообщение об ошибке.

Ответы [ 2 ]

0 голосов
/ 20 января 2019

Вы должны использовать

mongoose.Promise = require('bluebird');

Вы используете

mongoose.promise = require('bluebird');

Также я думаю, что вы используете более старую версию nodejs. Я использую узел js 8 & mongoose принимает global.Promise по умолчанию, так как nodejs 8 поставляется с собственным Promise.

0 голосов
/ 19 января 2019

попробуйте использовать этот кодовый помощник

var mongoose = require('mongoose');

mongoose.Promise = global.Promise;
mongoose.connect('mongodb://10.7.0.3:27107/data/TodoApp'); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...