【问题标题】:NodeJS, ExpressJS & PassportJS Sessions on Cloud9 connecting to Appfog MongoCloud9 上的 NodeJS、ExpressJS 和 Passport JS 会话连接到 Appfog Mongo
【发布时间】:2013-04-01 17:52:16
【问题描述】:

我很难在 Appfog 上与 MongoDB 建立任何类型的连接以进行会话存储。我目前正在使用 PassportJS 和 Mongoose 运行 Node Express。我在网上学习了许多示例和教程,并尝试了一些 ODM 映射器。

我必须承认,我一直在努力获得任何形式的联系,更不用说抽象会话的工作了。

我已经尝试了 SO 示例 herehere 没有成功。每次我尝试连接以下代码时:-

var env = process.env.NODE_ENV || 'development',
    config = require('./config/config')[env],
    auth = require('./config/middlewares/authorization'),
    mongoose = require('mongoose');

// Bootstrap db connection
mongoose.connect(config.db);

我得到一个:-

Error: Error setting TTL index on collection : sessions
    at module.exports._get_collection (/var/lib/stickshift/514a22705973cafc85000110/app-root/data/447240/node_modules/connect-mongo/lib/connect-mongo.js:137:23)
    at Db.ensureIndex (/var/lib/stickshift/514a22705973cafc85000110/app-root/data/447240/node_modules/mongodb/lib/mongodb/db.js:1227:28)
    at Db.indexInformation (/var/lib/stickshift/514a22705973cafc85000110/app-root/data/447240/node_modules/mongodb/lib/mongodb/db.js:1371:30)

任何人都可以提供任何可能的方向或帮助来完成这项工作吗?

请询问您是否需要在此处进一步转储代码以帮助解决问题。

帮助表示赞赏。

【问题讨论】:

  • 我也有同样的问题...

标签: mongodb express mongoose


【解决方案1】:

我遇到了同样的问题,因为我使用部分连接的数据库来初始化 express.session()。

这是我最初的:

mongoose.connect(dbPath);
...
app.configure(function() {
  ...
  app.use(express.session({
    secret : secret,
    store: new MongoStore({ db: mongoose.connection.db })
  }));
  ...
});

“new MongoStore()”调用发生在 mongoose.connect() 完成之前,因此它使用尚未连接的 db 为“会话”设置 TTL 并失败。我切换到“new MongoStore({ url: dbPath })”并解决了这个问题,但可能会导致 2 个不同的数据库连接。

【讨论】:

    【解决方案2】:

    我遇到了同样的错误,通过使用this 问题中的代码来获取更多错误信息转储出来;它帮助我意识到问题确实是连接字符串中的用户 ID 和密码。

    【讨论】:

      【解决方案3】:

      我无法连接到 AppFog 工作。不幸的是,AppFog 本身也无济于事。因此,我启动了一个 MongoHQ 实例,连接完全没有问题。

      【讨论】:

      • 这不是真正的答案。
      • 我已将其更改为 @Shovy,因为这似乎更有帮助。
      猜你喜欢
      • 1970-01-01
      • 2013-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-13
      • 1970-01-01
      • 2022-01-11
      相关资源
      最近更新 更多