約束の地

キャロの想い出

Ruby で MongoDB を使う最低限の方法

結論

以下の手順を踏みます。

0-1. MongoDBをインストール

各環境に応じてインストールをしてください。

0-2. 用語

RDB(特に MySQL)あたりとの対応表です(あくまでイメージ)。

RDB MongoDB
データベース データベース
テーブル コレクション
レコード ドキュメント

1. gem をインストール

$ gem install mongo

2. Ruby のコードを書く

最低限度の一直線コードだと、以下のような感じになるかと思います。

require 'mongo'
require 'json'

# client and db and collection(db はあらかじめ作った my_mongo_db を使います)
mongo_client = Mongo::Client.new(['127.0.0.1:27017'], database: 'my_mongo_db') 
collection = mongo_client[:my_mongo_collection] # collection が存在しない場合は作成されます

# insert one data
my_mongo_data_hash = {
  name: 'takeshi',
  age: 25,
  gender: 'male',
}
my_mongo_data_json = my_mongo_data_hash.to_json

# insert(ドキュメントは一つだけ)
insert_result = collection.insert_one(my_mongo_data_json)
puts insert_result.n #=> insert できたドキュメントの数が表示される(今回は「1」)

# find
find_result = collection.find(name: 'takeshi')
puts find_result.count #=> 取得できたドキュメントの数が表示される(今回は「1」)

流れとしては、「クライアント生成(データベースの選択)」→「collection の選択」→「insert するデータの準備」→「insert」というようになります。データ(ドキュメント)を取得する場合は「find」をすればよいです。

GUI クライアント

GUI クライアントとしては MongoDB Compass がよいでしょうか。

MongoDB Compass | MongoDB

補足

私だけかもしれませんが、初心者向けの「入門」的な内容であっても大量の情報が詰め込まれていると混乱を引き起こすので、実際にすぐに手を動かせて動く喜びを感じながら進みたいと思っています。

なので、内容は極めて簡単にしています*1

動く喜びを感じて、ドキュメントを見て新しいことを少しずつ試行錯誤しながら試して、また動く喜びを感じて……と繰り返して前に進んでいく形式が私には合っていると思っています。

参考ページ

もっと参考ページ

*1:insert_many メソッドも省略していますし、Mongoid も使っていません

Powered by はてなブログ