最近在学习MongoDB的相应知识,涉及到使用Ruby操作MongoDB数据库,因为参考数据中使用的Ruby Mongo驱动版本不是2.3.3,所以在操作方面会有所不同,因此撰写了这篇Ruby2.3.3操作MongoDB入门,学习方式是参考网址https://docs.mongodb.com/ruby-driver/v2.3/quick-start/

快速学习主要分为以下几个部分:

  1. 先期准备

1.1 本地启动MongoDB数据库,端口号27017

Windows环境下启动方式如下:首先CMD命令行模式到对应的Mongobin目录下,执行monggob -dbpath 路径,执行成功后,结果如下:

执行成功后,继续执行mongo指令

MongoDB数据库启动成功

1.2 安装了MongoDB的针对Ruby的驱动

gem install bson

gem install mongo

安装结束后,可通过gem query --local 查询安装是否成功,对应的驱动包和依赖包是否都已存在,如下图所示:

1.3 ruby脚本中导入了mongo驱动包

及在ruby脚本程序的顶端增加了require 'mongo' 语句


2. 创建MongoDB数据库连接

在2.4.3版本的Ruby MongoDB驱动中,连接数据库使用Mongo::Client,操作语句如下

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

或者使用client = Mongo::Client.new('mongodb://127.0.0.1:27017/test'),其中的test是连接的数据库名称,连接语句和连接成功结果如下图所示:


3. 进入对应的数据库,获取数据库中的集合Collection

创建了上述连接后,获取到标识连接的变量client

使用 client.database语句获取到对应的数据库信息,也即test数据库

db=client.database,执行结果如下,获取到对应的数据库信息test:

使用db.collections获取test数据库下的集合信息,结果如下:

同样使用db.collection_names获取到对应数据库下的集合名称

若要获取对应的test数据库下某个集合的名称

使用如下指令collection=client[:order],该指令用于获取test数据库中的order集合。此时,如果该数据库下不存在该集合,将在你第一次往该集合中插入数据时创建出该集合。