我正在开发一个想要使用Mongo Java库连接到本地MongoDB实例的Scala框架,但是失败了。它用于连接的URI是:
mongodb://user:pass@localhost:27017/mydb
当我尝试更新集合时,这会引发以下异常:
com.mongodb.CommandFailureException: { "serverUsed" : "localhost:27017" , "ok" : 0.0 , "errmsg" : "auth failed" , "code" : 18}
但是,如果我从URI中提取参数并将它们提供给Mongo shell:
$ mongo -u user -p pass --host localhost --port 27017 mydb
...然后它让我进来!任何人都可以建议为什么会这样吗?
可能但不太可能相关:在运行Ubuntu的戴尔笔记本电脑的原始环境中,一切都运行正常。现在我正在尝试在Virtualbox中运行Ubuntu的Mac笔记本电脑上运行它。一切都应该是(ha)相同的,但显然不是某种方式。
答案 0 :(得分:0)
显然是版本不匹配。我尝试卸载Ubuntu提供的3.0.3并使用我从mongodb.org下载的2.6.10,我的库终于能够连接了。
这是在我发现日志中的一行后,内存中的一行是“用户文档中找不到凭据”。
伙计,我知道在跨越主要版本号时可能会出现一些破损,但是防止老客户甚至完全无法连接似乎非常极端。
答案 1 :(得分:0)
在我的情况下,我必须将我的mongo驱动程序从$(window).on('load resize', function(event){
var windowSize = $(window).width(); // Could've done $(this).width()
if(windowSize < 992){
// your check here
} else if(windowSize > 994){
// other statements
}
});
升级到v2.12.5
才能使其正常工作。