Docs Menu
Docs Home
/ / /
Ruby ドライバー
/

MongoDB クライアントの作成

MongoDB 配置に接続するには、次の 2 つのものが必要です。

  • 接続 URI 。接続文字列とも呼ばれます。これは、接続するMongoDBデプロイをRubyドライバーに指示します。

  • Mongo::Clientオブジェクト。MongoDBMongoDBデプロイへの接続を作成し、それに対して操作を実行できるようにします。

これらのコンポーネントのいずれかを使用して、 MongoDB . に接続する間にRubyドライバーの動作をカスタマイズすることもできます。

このガイドでは、接続string を作成し、{0Mongo::Client オブジェクトを使用してMongoDB に接続する方法について説明します。

標準の接続stringには次のコンポーネントが含まれます。

コンポーネント
説明

mongodb://

必須: これを標準接続形式の文字列として識別するプレフィックス。

db_username:db_password

任意。 認証資格情報。 これらを含めると、クライアントはauthSource で指定されたデータベースに対してユーザーを認証します。 authSource接続オプションの詳細については、 認証メカニズムのガイドをご覧ください。

hostname[:port]

必須。 MongoDB がを実行中いるホスト名とオプションのポート番号。ポート番号を指定しない場合、ドライバーはデフォルトのポート 27017 を使用します。

/defaultauthdb

任意。 接続stringに db_username:db_password@ 認証情報が含まれている一方で、authSource オプションが含まれていない場合に使用する認証データベース。 このコンポーネントを含めない場合、クライアントはadminデータベースに対してユーザーを認証します。

?<options>

任意。 接続固有のオプションを <name>=<value> ペアとして指定するクエリstringです。 これらのオプションの詳細については、「接続オプションの指定 」を参照してください。

接続 の作成の詳細については、string MongoDB Serverドキュメントの「 接続 文字列 」を参照してください。

MongoDBへの接続を作成するには、接続 URI をコンストラクターに渡して、Mongo::Clientクラスのインスタンスを構築します。次の例では、localhost のポート 27017 上のMongoDBデプロイに接続するための Mongo::Clientオブジェクトを構築します。

client = Mongo::Client.new("mongodb://localhost:27017")

あるいは、ホスト名とポート番号をそれぞれに含む文字列の配列を Mongo::Client コンストラクターに渡すこともできます。次の例は、この構文を使用して localhost のポート 27017 に接続する方法を示しています。

client = Mongo::Client.new(['localhost:27017'])

Tip

クライアントの再利用

Mongo::Clientオブジェクトはデータベースへの接続のプールを表すため、ほとんどのアプリケーションでは、複数のリクエスト間でもMongo::Clientのインスタンスが 1 つだけ必要になります。

Mongo::Clientオブジェクトの使用を終了したら、次の例に示すように、オブジェクトの close メソッドを呼び出します。これにより、オブジェクトに関連付けられているすべてのリソースが解放されます。

client.close

あるいは、Ruby のブロック構文を使用して Mongo::Clientオブジェクトを作成することもできます。この構文を使用すると、ブロックの実行が完了した後にクライアントは自動的に閉じられます。

次の例は、ブロック構文を使用して Mongo::Clientオブジェクトを作成する方法を示しています。

Mongo::Client.new("mongodb://localhost:27017") do |client|
# work with the client
end

Mongo::ClientRubyドライバーを使用して オブジェクトを作成する方法について詳しくは、 Mongo ::Client のAPIドキュメントを参照してください。

戻る

接続

項目一覧