Делаю приложение с Node.js, Express, MongoDB (mongoose), пытаюсь сделать подключение к БД отдельным файлом от server.js
, но у меня туго с коннект-монго.
Сначала в моем server.js у меня было это:
/* jshint esversion: 6 */
'use strict';
let express = require('express');
const db = require('./app/config/db');
const routes = require('./app/routes/routes');
const users = require('./app/routes/users');
let app = express();
const conn = db.connect();
app.set('views', path.join(__dirname, 'app/views'));
app.set('view engine', 'hbs');
...
app.use('/', routes);
app.use('/users', users);
app.listen(3000);
module.exports = app;
Это обрабатывает только маршруты приложений и сервер приложений, тогда у меня была следующая структура папок для моего проекта:
myApp
|___app
|___bin
|___config
|___credentials.js
|___db.js
|___controllers
|___routes
|___views
|___node_modules
|___package.json
|___server.js
Хорошо, внутри папки конфигурации у меня было два javascripts, которые обрабатывают подключение к базе данных, в учетных данных.js буквально были только учетные данные для доступа к базе данных.
Тогда моя проблема внутри db.js, затем я покажу вам файл:
/* jshint esversion: 6 */
'use strict';
let mongoose = require('mongoose'),
async = require('async'),
express = require('express');
const credentials = require('./credentials');
const session = require('express-session');
const MongoStore = require('connect-mongo')(session);
let db = mongoose.connection,
app = express();
exports.connect = function(done){
const connection = mongoose.connect(credentials.host, credentials.database, credentials.port, credentials.db);
db.on('error', (error =>{
console.log("Error estableciendo la conexion");
process.exit(1);
}));
db.on('open', (argv)=>{
db.db.listCollections().toArray((err, collections)=>{
collections.forEach(x => console.log(x));
});
});
/* Define sessions in MongoDB */
app.use(session({
secret: credentials.sessionSecret,
store: new MongoStore({ dbPromise: db })
}));
}
Я получил следующую ошибку: Ошибка с nodemon server.js
Знаете ли вы, как запустить connect-mongo, используя эту структуру проекта?
Кстати, в файле учетных данных.js я устанавливаю Bluebird в качестве моей библиотеки промисов.
Заранее спасибо!
mongoose.connection(uri)
- person Juan Carlos León   schedule 17.03.2017