Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Heroku上的MongoHQ“db断言失败”_Heroku_Mongoose_Mongohq - Fatal编程技术网

Heroku上的MongoHQ“db断言失败”

Heroku上的MongoHQ“db断言失败”,heroku,mongoose,mongohq,Heroku,Mongoose,Mongohq,我正在尝试将我的节点应用程序以及所有模块从0.4升级到0.6。我想我一切都对了,但MongoHQ返回: db assertion failure 在每次查找/独特调用时,连接都不会出错 这是我的package.json,我已将所有模块固定为一个特定版本,因为我最初在local和Heroku之间存在一些差异。现在唯一的区别是我运行的是Node 0.6.19 local,Heroku运行的是Node 0.6.18: { "name": "expensesspreadsheet" , "versio

我正在尝试将我的节点应用程序以及所有模块从0.4升级到0.6。我想我一切都对了,但MongoHQ返回:

db assertion failure
在每次查找/独特调用时,连接都不会出错

这是我的package.json,我已将所有模块固定为一个特定版本,因为我最初在local和Heroku之间存在一些差异。现在唯一的区别是我运行的是Node 0.6.19 local,Heroku运行的是Node 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工作正常回调中没有错误。让我知道如果你想看到的代码,但它是非常标准的,几乎直接从猫鼬网站

然而,正如上面所讨论的,每当我试图实际查找任何数据时,我都会得到这个难以描述的错误

我已经手动连接到数据库并执行了查询:工作正常。 我已经将我的本地环境与我的mongohq连接起来了:很好

所有这些仍然可以在节点0.4上使用mongoose 2.3.13和mongodb驱动程序0.9.6-7

所以我的问题是:

有人知道如何调试这个db断言失败错误吗? 还有其他想法吗?可能有什么问题?
通过MongoHQ支持对此进行调查后,发现这是一个身份验证问题

Heroku提供的MongoHQ URL与MongoHQ上的密码不同步

在旧版本的应用程序中,我使用了一个手动构建的URL,这解释了为什么这个URL可以工作


我们怎么知道的?通过查看MongoDB日志,这些日志包含明确的身份验证错误。遗憾的是,返回的JSON只包含一般的db断言失败消息,没有其他细节。

与此同时,我用一个新的MongoHQ实例创建了一个新的应用程序副本。这非常有效。当我将新应用程序指向旧的MongoHQ URL时,我收到了相同的db断言失败消息。