大佬教程收集整理的这篇文章主要介绍了node.js – MongoDB:在集合上设置TTL索引时出错:sessions,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Mongo处理我的会话存储,据了解,TTL索引用于使会话数据过期。
/home/dan/dev/audio-wave/node_modules/connect-mongo/lib/connect-mongo.js:161 throw new Error('Error setTing TTL index on collection : ' + s ^ Error: Error setTing TTL index on collection : sessions at /home/dan/dev/audio-wave/node_modules/connect-mongo/lib/connect-mongo.js:161:23 at /home/dan/dev/audio-wave/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/db.js:1404:28 at /home/dan/dev/audio-wave/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/db.js:1542:30 at /home/dan/dev/audio-wave/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/@R_618_10930@or.js:159:22 at commandHandler (/home/dan/dev/audio-wave/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/@R_618_10930@or.js:678:48) at Db._executeQueryCommand (/home/dan/dev/audio-wave/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/db.js:1802:12) at @R_618_10930@or.nextObject (/home/dan/dev/audio-wave/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/@R_618_10930@or.js:729:13) at @R_618_10930@or.toArray (/home/dan/dev/audio-wave/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/@R_618_10930@or.js:158:10) at @R_618_10930@or.toArray (/home/dan/dev/audio-wave/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/scope.js:10:20) at /home/dan/dev/audio-wave/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/db.js:1541:65
这是将其连接在一起的代码
var sessionStore = new MongoStore({ db: 'audio-drop' }),cookieParser = express.cookieParser('waytoblue'),SessionSockets = require('session.socket.io'),sockets = new SessionSockets(io,sessionStore,cookieParser); app.set('port',process.env.PORT || 3000); app.set('views',__dirname + '/views'); app.set('view ENGIne','ejs'); app.use(express.favicon()); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(express.static(path.join(__dirname,'public'))); app.use(express.logger('dev')); app.use(cookieParser); app.use(express.session({ store: sessionStore }));
根据来自Mongo sHell的db.version(),我正在运行2.4.9,我使用的是连接的mongo版本0.4.0。
似乎有一些人遇到这个问题,但似乎大多数人都解决了凭据问题,我的本地mongo没有安全认证,所以这不是问题。有任何想法吗?
您可以通过在MongoStore创建上使用回调或传递已经活动的连接来避免此问题。
示例使用COnnect-mongo的回调
var sessionStore = new MongoStore({ url: 'someConnectionUrl',db: 'audio-drop' },function(E) { var cookieParser = express.cookieParser('waytoblue'); app.use(cookieParser); app.use(express.session({ store: sessionStore })); app.listen(); });
简单的蜜糖实例
var mongoose = require('mongoose'); mongoose.connect('localhost',function(E) { // If error connecTing if(E) throw e; var sessionStore = new MongoStore({ mongoose_connection: mongoose.connection }),cookieParser = express.cookieParser('waytoblue'); app.use(cookieParser); app.use(express.session({ store: sessionStore })); app.listen(); });
以上是大佬教程为你收集整理的node.js – MongoDB:在集合上设置TTL索引时出错:sessions全部内容,希望文章能够帮你解决node.js – MongoDB:在集合上设置TTL索引时出错:sessions所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。