官术网_书友最值得收藏!

Connecting using Ruby

Ruby was one of the first languages to have support from MongoDB with an official driver. The official mongo-ruby-driver on GitHub is the recommended way to connect to a MongoDB instance.

Installation is as simple as adding it to the Gemfile:

gem 'mongo', '~> 3.4'
You need to install Ruby, then install RVM from https://rvm.io/rvm/install and finally run  gem install bundler for this.

And then in our class we can connect to a database:

require 'mongo'
client = Mongo::Client.new([ '127.0.0.1:27017' ], database: 'test')

This is the simplest example possible, connecting to a single database instance called test in our localhost. In most use cases we would at least have a replica set to connect to, as in the following snippet:

client_host = ['server1_hostname:server1_ip, server2_hostname:server2_ip']
client_options = {
database: 'YOUR_DATABASE_NAME',
replica_set: 'REPLICA_SET_NAME',
user: 'YOUR_USERNAME',
password: 'YOUR_PASSWORD'
}
client = Mongo::Client.new(client_host, client_options)

The client_host servers are seeding the client driver with servers to attempt to connect to. Once connected, the driver will determine the server that it has to connect to according to the primary/secondary read or write configuration.

The replica_set attribute needs to match the replica set name to be able to connect.

user and password are optional but highly recommended in any MongoDB instance. It's a good practice to enable authentication by default in the mongod.conf file and we will go over this in Chapter 7. Monitoring, Backup, and Security.

Connecting to a sharded cluster is similar to a replica set with the only difference being that, instead of supplying the server host/port, we need to connect to the mongo router, the mongos process.

主站蜘蛛池模板: 当雄县| 布尔津县| 大冶市| 彰化县| 南投县| 天祝| 四平市| 专栏| 龙陵县| 浦北县| 和林格尔县| 芜湖市| 芒康县| 莲花县| 新昌县| 台南县| 和林格尔县| 区。| 宿迁市| 金阳县| 清流县| 景德镇市| 英山县| 丹巴县| 清新县| 教育| 霍林郭勒市| 旬邑县| 阳原县| 平安县| 克什克腾旗| 南京市| 大连市| 曲沃县| 连城县| 安康市| 肇源县| 望谟县| 女性| 合肥市| 平邑县|