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