[英]How to connect to mongo database in docker from another machine using ruby code
[英]How to connect to mongo, using ruby that have credentials?
我正在尝试连接到具有凭据的数据库。 我在网上找不到任何有用的信息...
require: 'mongo'
begin
db = Mongo::Connection.new(" IP ADDRESS " , PORT ).db("COLLECTION")
db.authenticate("username","password")
rescue StandardError => err
abort("error")
end
C:/Ruby193/lib/ruby/gems/1.9.1/gems/mongo-1.8.2/lib/mongo/networking.rb:306:在receive_message_on_socket中的'rescue'中:操作失败,但以下异常:文件结尾已达到(Mongo :: ConnectionFailure)
貌似有一个#add_auth
方法以及auths
可以传递给构造也许尝试
auths = [{"db_name" => "COLLECTION",
"username" => YOUR_USERNAME,
"password" => YOUR_PASSWORD}]
Mongo::Connection.new(" IP ADDRESS " , PORT, auths: auths)
要么
auth = {"db_name" => "COLLECTION",
"username" => YOUR_USERNAME,
"password" => YOUR_PASSWORD}
Mongo::Connection.new(" IP ADDRESS " , PORT).add_auth(auth)
看看是否可行
参考Mongo :: MongoClient :: GENERIC_OPTS和Mongo :: MongoClient#setup
顺便说一句,这是宝石和红宝石的旧版本。 您是否考虑过可能的升级?
Mongo的最新版本(到目前为止)是2.4.3,并且选项现在更加透明,例如
Mongo::Client.new("IP_ADDRESS:PORT", user: USERNAME, password: PASSWORD, auth_mech: AUTHENTICATION_MECHANISM)
尽管根据您的评论,我不确定身份验证是否是您的问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.