Overview
要连接到 MongoDB 部署,您需要满足两个条件:
连接 URI,也称为连接字符串,它告诉Ruby驱动程序要连接到哪个MongoDB部署。
Mongo::Client对象,用于创建与MongoDB 部署的连接并允许您对其执行操作。
您还可以使用这些组件来自定义 Ruby 驱动程序在连接到 MongoDB 时的行为方式。
本指南向您展示如何创建连接string并使用 Mongo::Client 对象连接到MongoDB 。
连接 URI
标准连接string包括以下组件:
组件 | 说明 |
|---|---|
| 必需。将其标识为标准连接格式中字符串的前缀。 |
| |
| 必需。运行MongoDB 的主机名和可选端口号。如果不包含端口号,驱动程序将使用默认端口 |
| 可选。 如果连接string包含 |
| 可选。 一个查询string ,它将特定于连接的选项指定为 |
创建 Mongo::Client
要创建与MongoDB的连接,请构造 Mongo::Client 类的实例,并将连接 URI 传递给构造函数。以下示例将构造一个 Mongo::Client对象来连接到 localhost 的端口 27017 上的MongoDB 部署:
client = Mongo::Client.new("mongodb://localhost:27017")
或者,您可以向 Mongo::Client 构造函数传递一个字符串大量,每个字符串包含一个主机名和端口号。以下示例展示了如何使用此语法连接到 localhost 的端口 27017:
client = Mongo::Client.new(['localhost:27017'])
提示
客户端重用
由于每个Mongo::Client对象代表一个数据库连接池,因此大多数应用程序只需要一个Mongo::Client实例,甚至在多个请求中也是如此。
关闭 Mongo::Client
使用完 Mongo::Client对象后,请调用该对象的 close 方法,如以下示例所示。这将释放与该对象关联的所有资源。
client.close
或者,您可以使用 Ruby 的区块语法来创建 Mongo::Client对象。使用此语法时,客户端将在区块执行完成后自动关闭。
以下示例展示了如何使用区块语法创建 Mongo::Client对象:
Mongo::Client.new("mongodb://localhost:27017") do |client| # work with the client end
API 文档
要学习有关使用Ruby驱动程序创建 Mongo::Client对象的更多信息,请参阅 Mongo::客户端的API文档。