mongoose.connect дает ошибку в nodejs
Я использую узел для подключения к базе данных mongoose, но когда я запускаю код, он выдает ошибку как:
Uncaught TypeError: undefined is not a function
(anonymous function) server.js:13
Ниже приведен код, который я запускаю в server.js
var express= require(['express']);
var bodyParser = require(['body-parser']);
var cookieParser = require(['cookie-parser']);
var expressSession = require(['express-session']);
var mongoose = require(['mongoose']);
var mongoStore = require(['connect-mongo'])({session: expressSession});
require(['./models/users.js']);
mongoose.connect('mongodb://localhost/userregistration');
var app = express();
app.engine('.html', require('ejs').__express);
app.set('views',__dirname + '/views');
app.set('view engine','html');
app.use(bodyParser());
app.use(cookieParser());
app.use(expressSession({
secret: 'SECRET',
cookie: {maxAge:60*60*1000 },
store: new mongoStore({
db: mongoose.connection.db,
collection: 'sessions'
})
}));
require('./routes')(app);
app.listen(80);
просматривая логи, код выдает ошибку по адресу:
mongoose.connect('mongodb://localhost/userregistration');
3 ответа
Я думаю, что вы забыли потребовать экспресс-сессию.
Вот пример
app.use(express.session({
secret: 'SECRET',
cookie: {maxAge:60*60*1000 },
store: new mongoStore({
db: mongoose.connection.db,
collection: 'sessions'
})
}));
connect-mongo
имеет специальную опцию для использования подключений Mongoose, попробуйте использовать это:
store: new mongoStore({
mongoose_connection: mongoose.connection,
collection: 'sessions'
})
Если это не помогает, пожалуйста, опубликуйте дополнительную информацию (например, полную трассировку стека и фактический код, который вы выполняете, поскольку require
не выглядит правильно).
// Replace 'db' by 'mongooseConnection '
app.use(expressSession({
secret: 'SECRET',
cookie: {maxAge: 60 * 60 * 1000},
store: new mongoStore({
mongooseConnection: mongoose.connection,
collection: 'sessions'
})
}));