Node.js - Mongoose не обращается к БД во включенном пакете

В последнее время я начал работать над технологиями MEAN;

У меня есть модуль myModule. Имеются маршруты, сервисы, модели доступа к базе данных.

Я создал другой проект, myAnotherModule в отдельном каталоге, и добавил ссылку "npm" в myModule. Хотя я пытаюсь использовать Mongoose в myAnotherModule, он не может получить доступ к БД с надлежащими учетными данными.

В следующем коде в myAnotherModule,

var db  = mongoose.connection.db;
var mongoDriver = mongoose.mongo;
var gfs = new grid(db, mongoDriver);

он не находит mongoose.connection.db а также db не определено Тогда как если я использую эти строки в myModule, то код работает нормально.

Почему myAnotherModule не может найти mongoose.connection.db? Как работает ссылка на npm?

2 ответа

Попробуйте подключиться следующим образом:

var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function callback () {
  console.log("h");
});

exports.test = function(req,res) {
  res.render('test');
};

Я случайно столкнулся с этими проблемами и в последнее время. Обычно люди разделяют конфигурацию базы данных, таким образом, вызывают эту проблему. Попробуйте объявить в соответствующем блоке, который гарантирует, что mongodb уже подключен.

  db.once('open', function callback () {
        var gfs = new grid(mongoose.connection.db, mongoDriver);
   });
Другие вопросы по тегам