Ruby
Connect a Ruby application to TeselaDB with the official MongoDB driver.
Connect a Ruby application to TeselaDB with the official MongoDB driver for Ruby. TeselaDB presents itself as a mongos, so the driver works unchanged.
Requirements
- Ruby with RubyGems.
- The address of one or more nodes, a user with
readWriteon the database and thepki/ca.pemfile of the cluster.
Install the driver
Shell
gem install mongoStore the connection string
Put the string in an environment variable instead of writing it in the code:
Shell
export TESELADB_URI="mongodb://user:<password>@node-01:27017,node-02:27017/shop?tls=true&tlsCAFile=./ca.pem"Write and read a document
require "mongo"
client = Mongo::Client.new(ENV.fetch("TESELADB_URI"))
orders = client[:orders]
orders.insert_one(total: 149.5)
puts orders.count_documentsCheck
The program prints the number of documents in orders, which grows by one each time you run it.
Common problems
- The connection closes before authenticating because
tls=trueis missing from the string. - The driver does not trust the node certificate because it does not have the CA of this cluster.