![](/img/trans.png)
[英]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.