【问题标题】:JavaScript execution failed connected to mongoHQ shell连接到 mongoHQ shell 的 JavaScript 执行失败
【发布时间】:2013-06-04 23:17:30
【问题描述】:

尝试直接访问 MongoHQ:

> mongo mongodb://heroku:mypassword@alex.mongohq.com:10046/myapp
MongoDB shell version: 2.4.3
connecting to: mongodb://heroku:mypassword@alex.mongohq.com:10046/myapp
Tue Jun  4 16:10:09.255   Assertion failure _setName.size() src/mongo/client/dbclientinterface.h 211
0x10017116b 0x100135396 0x100068356 0x100129bab 0x10010f92f 0x10024b2fa 0x139ba3a06362 0x139ba3a0ce93 0x139ba3a400c9 0x139ba3a0c76e 
 0   mongo                               0x000000010017116b _ZN5mongo15printStackTraceERSo + 43
 1   mongo                               0x0000000100135396 _ZN5mongo12verifyFailedEPKcS1_j + 310
 2   mongo                               0x0000000100068356 _ZN5mongo16ConnectionString5parseERKSsRSs + 1878
 3   mongo                               0x0000000100129bab _ZN5mongo17mongoConsExternalEPNS_7V8ScopeERKN2v89ArgumentsE + 187
 4   mongo                               0x000000010010f92f _ZN5mongo7V8Scope10v8CallbackERKN2v89ArgumentsE + 175
 5   mongo                               0x000000010024b2fa _ZN2v88internalL30Builtin_HandleApiCallConstructENS0_12_GLOBAL__N_116BuiltinArgumentsILNS0_21BuiltinExtraArgumentsE1EEEPNS0_7IsolateE + 618
 6   ???                                 0x0000139ba3a06362 0x0 + 21559186056034
 7   ???                                 0x0000139ba3a0ce93 0x0 + 21559186083475
 8   ???                                 0x0000139ba3a400c9 0x0 + 21559186292937
 9   ???                                 0x0000139ba3a0c76e 0x0 + 21559186081646
Tue Jun  4 16:10:09.264 JavaScript execution failed: Error: assertion src/mongo/client/dbclientinterface.h:211 at src/mongo/shell/mongo.js:L114
exception: connect failed

要做什么?

【问题讨论】:

标签: mongodb mongohq


【解决方案1】:

这是一个 shell 错误,并不是一个新错误。基本上,mongo shell 不接受与常规 mongodb 驱动程序相同格式的连接字符串。我可以在当前版本和以前的版本中重现此错误,并且预计此语法不会起作用(尽管它可能也不应该崩溃,但是 shell 已经有一个错误来接受标准连接字符串:jira.mongodb.org /browse/SERVER-3254

同时您可以使用 mongo shell 选项进行连接,例如

mongo -u <user> -p <passwd> hostIP:port/db 

mongo --host host --port port [ other options ] db

【讨论】:

  • 第一行对我有用! (第二个没有)。谢谢!!
  • 这可能与版本有关 - 如果您只是最后给出 dbname(不带 -d),则第二行应该可以工作
  • 在我切换到优胜美地之前,它并没有崩溃。但至少,其他变体有效:)
【解决方案2】:

看看你的密码中是否有$,在这种情况下,用''将你的密码括起来,然后尝试连接。

例如

mongo mongodb://host:port/authdb -username dbusername -p '密码$123'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    • 2012-12-22
    • 2018-03-03
    • 1970-01-01
    • 2013-10-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多