2014-09-29 2 views
0

Я использую узел для подключения к мангуст базы данных, но когда я запускаю код, он дает ошибку, как:mongoose.connect дает ошибку в nodejs

Uncaught TypeError: undefined is not a function 
    (anonymous function) server.js:13 

Ниже приведен код, который я бегу в сервере. 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'); 
+1

Вы пытались установить соединение db с портом нет? –

+0

@WaqasAhmed: его не касается номера порта ... Его mongoose.connect дает сообщение об ошибке, его undefined ..... – kawade

ответ

0

Я думаю, что вы забыли требовать экспресс-Sessio п.

Вот пример

ExpressSession

app.use(express.session({ 
    secret: 'SECRET', 
    cookie: {maxAge:60*60*1000 }, 
    store: new mongoStore({ 
    db: mongoose.connection.db, 
    collection: 'sessions' 
    }) 
})); 
+0

Я установил экспресс-сессию с использованием npm install -g express-session --save, но все же проблема существует ... – kawade

+0

Привет, глядя на трассировку ошибки, ошибка приходит на "mongoose.connect ('mongodb: // localhost/userregistration');". – kawade

0

connect-mongo имеет специальный вариант для использования соединения Mongoose, попробуйте с помощью этого:

store: new mongoStore({ 
    mongoose_connection: mongoose.connection, 
    collection: 'sessions' 
}) 

Если это не исправить, пожалуйста разместите дополнительную информацию (например, полную трассировку стека и нужный код, который вы используете, так как t шланг require не выглядит правильно).

+0

Привет, глядя на трассировку ошибки, ошибка приходит на «mongoose.connect (« mongodb: // localhost/userregistration »); – kawade

0
// Replace 'db' by 'mongooseConnection ' 

app.use(expressSession({ 
secret: 'SECRET', 
cookie: {maxAge: 60 * 60 * 1000}, 
store: new mongoStore({ 
    mongooseConnection: mongoose.connection, 
    collection: 'sessions' 
    }) 
})); 
+0

Пожалуйста, объясните свой ответ, не отправляйте только код, поэтому OP может учиться на нем – EBH

Смежные вопросы