我正在尝试将我的 Node 应用程序以及所有模块从 0.4 升级到 0.6。我想我的一切都是正确的,但是 MongoHQ 返回:
db assertion failure
在每个 find/distinct 调用(连接没有错误)
这是我的 package.json,我已将所有模块固定为一个特定版本,因为我最初在 local 和 Heroku 之间存在一些差异。现在唯一的区别是我在本地运行 Node 0.6.19 而 Heroku 运行 0.6.18:
{ "name": "expensesspreadsheet"
, "version": "0.0.1"
, "engines":
{ "node" : "0.6.18"
, "npm" : "1.1.9"
}
, "main": "server.js"
, "dependencies":
{ "ejs": "0.7.1"
, "ejs-ext": "0.1.1"
, "express": "2.5.10"
, "railway": "0.2.17-pre3"
, "jugglingdb": "0.1.10"
, "yaml": "0.2.3"
, "coffee-script": "1.3.3"
, "mime": "1.2.5"
, "qs": "0.5.0"
, "mongoose": "2.7.0"
, "mongodb": "1.0.2"
, "connect-mongodb": "1.1.4"
, "connect-auth": "0.5.2"
, "moment" : "1.6.2"
, "connect-heroku-redis" : "0.1.5"
, "node-markdown" : "0.1.0"
, "recaptcha" : "1.1.0"
, "sendgrid": "0.2.1"
}
, "scripts":
{ "test": "nodeunit test/*/*"
}
}
我正在使用 Mongoose 来定义模式。连接到 MongoHQ 工作正常(回调中没有错误)。如果您想查看该代码,请告诉我,但它非常标准,几乎直接来自 Mongoose 站点。
但是,如上所述,每当我尝试实际查找任何数据时,都会收到这个难以描述的错误。
我已经手动连接到数据库并执行了查询:工作正常。我已将本地环境连接到我的 mongohq:工作正常。
所有这些仍然可以在节点 0.4 上使用 mongoose 2.3.13 和 mongodb 驱动程序 0.9.6-7
所以我的问题:
- 有谁知道如何调试这个“db assertion failure”错误?
- 任何其他想法可能有什么问题?