首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当使用connect-mongo进行会话时,节点:“在集合上设置TTL索引时出错”

当使用connect-mongo进行会话时,节点:“在集合上设置TTL索引时出错”
EN

Stack Overflow用户
提问于 2013-01-28 21:08:27
回答 2查看 3.5K关注 0票数 0

我正在尝试将Express应用程序部署到heroku,并收到以下错误:

代码语言:javascript
复制
2013-01-28T12:44:55+00:00 heroku[web.1]: Starting process with command `coffee    server.coffee`
2013-01-28T12:44:57+00:00 app[web.1]: Express server listening on port 13715
2013-01-28T12:44:57+00:00 app[web.1]: /app/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/connection/server.js:537
2013-01-28T12:44:57+00:00 app[web.1]:               ^
2013-01-28T12:44:57+00:00 app[web.1]:         throw err;
2013-01-28T12:44:57+00:00 app[web.1]:     at Db.indexInformation (/app/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/db.js:1372:30)
2013-01-28T12:44:57+00:00 app[web.1]: Error: Error setting TTL index on collection : sessions
2013-01-28T12:44:57+00:00 app[web.1]:     at module.exports._get_collection (/app/node_modules/connect-mongo/lib/connect-mongo.js:137:23)
2013-01-28T12:44:57+00:00 app[web.1]:     at Cursor.toArray (/app/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/cursor.js:152:22)
2013-01-28T12:44:57+00:00 app[web.1]:     at Db.ensureIndex (/app/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/db.js:1228:28)
2013-01-28T12:44:57+00:00 app[web.1]:     at Cursor.nextObject.self.queryRun (/app/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/cursor.js:594:39)
2013-01-28T12:44:57+00:00 app[web.1]:     at Db._executeQueryCommand (/app/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/db.js:1814:5)
2013-01-28T12:44:57+00:00 app[web.1]:     at Cursor.close (/app/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/cursor.js:947:5)
2013-01-28T12:44:57+00:00 app[web.1]:     at Cursor.nextObject.commandHandler (/app/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/cursor.js:594:21)
2013-01-28T12:44:57+00:00 app[web.1]:     at EventEmitter.emit (events.js:126:20)
2013-01-28T12:44:57+00:00 app[web.1]:     at g (events.js:192:14)

当我在本地运行它时,它工作得很好。在这两种情况下,我都连接到MongoHQ。以下是我的server.coffee的相关部分:

代码语言:javascript
复制
express          = require 'express'
mongoStore       = require("connect-mongo")(express)

app.configure ->
  app.use express.errorHandler()
  app.use express.logger("dev")
  app.use express.bodyParser()
  app.use express.methodOverride()
  app.use express.cookieParser(config.cookieSecret)
  app.use express.session(
    secret: config.sessionSecret
    cookie:
      httpOnly:         true
      secure:           true
    store: new mongoStore(
      url:              config.db
      collection:       "sessions"
      auto_reconnect:   true
    )
  )
  app.use express.csrf()
  app.use express.static(config.root + "/public")
  app.use assets()
  app.use flash()

  app.use passport.initialize()
  app.use passport.session()

  app.use app.router

我使用的是node 0.8.14,express 3.0.3,mongoose 3.4.0,connect-mongo 0.3.2。任何帮助都将不胜感激!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-31 21:19:44

原来我的配置文件指向dev和prod中的同一个db。这就是导致错误的原因。

票数 0
EN

Stack Overflow用户

发布于 2013-09-01 10:18:27

我也有同样的症状。通过使用this问题中的代码来获得更多的错误信息,我已经解决了这个问题;它帮助我认识到问题实际上出在连接字符串中的用户Id和密码上。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14562752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档