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

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.

主站蜘蛛池模板: 甘谷县| 永川市| 阿克苏市| 通山县| 吴堡县| 玛沁县| 龙江县| 苍山县| 始兴县| 南部县| 泰州市| 石城县| 石城县| 哈尔滨市| 九江县| 滨州市| 和平区| 台东县| 中宁县| 酒泉市| 沙坪坝区| 封丘县| 集安市| 伊吾县| 富裕县| 安龙县| 孝昌县| 邳州市| 敦煌市| 大港区| 五寨县| 郎溪县| 佛学| 郑州市| 康定县| 昔阳县| 栖霞市| 金阳县| 景泰县| 高清| 吴桥县|