0

首先,我是 Geddy 的菜鸟,所以答案可能是我忘记的一些愚蠢的东西,但是我在同时使用 Geddy auth 和 MongoDB 时不断收到错误;这是我所做的:

geddy app myapp

然后我将 config/development.js 配置为使用 MongoDB:

var config = {
  detailedErrors: true
, debug: true
, hostname: null
, port: 4000
, model: {
    defaultAdapter: 'mongo'
  }
, db: {
  mongo: {
    dbname: 'myappdb'
  }
}
, sessions: {
    store: 'memory'
  , key: 'sid'
  , expiry: 14 * 24 * 60 * 60
  }
};

module.exports = config;

最后我安装了 geddy auth 并启动了应用程序:

geddy auth
geddy

当我导航到 localhost:4000/ 起初一切似乎都正常,但如果我刷新页面或尝试创建新用户,我会得到一个漂亮的错误:500

Error: 500 Internal Server Error
Error: db object already connecting, open cannot be called multiple times
at Db.open (/usr/lib/node_modules/geddy/node_modules/model/node_modules/mongodb-wrapper/node_modules/mongodb/lib/mongodb/db.js:240:11)
at open (/usr/lib/node_modules/geddy/node_modules/model/node_modules/mongodb-wrapper/lib/mongodb-wrapper.js:625:20)
at self.connection (/usr/lib/node_modules/geddy/node_modules/model/node_modules/mongodb-wrapper/lib/mongodb-wrapper.js:618:9)
at connection (/usr/lib/node_modules/geddy/node_modules/model/node_modules/mongodb-wrapper/lib/mongodb-wrapper.js:190:18)
at /usr/lib/node_modules/geddy/node_modules/model/node_modules/mongodb-wrapper/lib/mongodb-wrapper.js:433:13
at cursor (/usr/lib/node_modules/geddy/node_modules/model/node_modules/mongodb-wrapper/lib/mongodb-wrapper.js:158:9)
at self.toArray (/usr/lib/node_modules/geddy/node_modules/model/node_modules/mongodb-wrapper/lib/mongodb-wrapper.js:135:16)
at utils.mixin.load (/usr/lib/node_modules/geddy/node_modules/model/lib/adapters/mongo/index.js:194:14)
at Object.obj.all (/usr/lib/node_modules/geddy/node_modules/model/lib/index.js:501:25)
at Function.obj.first (/usr/lib/node_modules/geddy/node_modules/model/lib/index.js:459:18)

我尝试使用 npm 更新 geddy 并重新安装 mongo-adapter 包,但没有任何改变,我开始感到非常沮丧,因为我找不到解决方案并且知道这可能只是我错过的一些简单的事情。知道出了什么问题吗?

在此先感谢您的帮助 !

4

1 回答 1

0

我认为您没有运行 MongoDB...要运行您的 Geddy 应用程序,您需要同时运行 mongodb 和 geddy 服务器。

首先,启动你的 mongo 服务器:

$蒙戈

然后在您的根应用程序目录上启动 geddy

$ 格迪

希望有帮助

于 2013-06-09T17:25:27.483 回答