Ruby mongoDBに接続してDBの状態を確認する

Ruby mongoDBに接続してDBの状態を確認する

Rubyで、mongoDBに接続してDBの状態を確認するソースコードを記述してます。

環境

  • OS windows11 home
  • ruby ruby 3.0.3p157 (2021-11-24 revision 3fb7d2cadc) [x64-mingw32]
  • gem 3.2.32
  • vscode 1.63.2

mongoインストール

ライブラリ「mongo」を使います。「gem」を使ってインストールしておきます。

gem install mongo

サンプルコード

localhostにある「mongoDB」に接続して、以下のDB「hoge」の状態を取得してみます。
※ここでは「test.rb」という名前で作成してます。

require "mongo"

Mongo::Logger.logger.level = ::Logger::FATAL

begin
  c = Mongo::Client.new(["127.0.0.1:27017"])

  db = c.use("hoge")

  db.command({ "dbstats" => 1 }).documents[0].each do |key, value|
    puts "#{key} : #{value}"
  end
rescue Mongo::Error::NoServerAvailable => e
  p e
end

実行結果を確認すると、状態が取得されていることが確認できます。

>ruby test.rb

db => hoge
collections => 2
views => 0
objects => 18
avgObjSize => 64.11111111111111
dataSize => 1154.0
storageSize => 57344.0
freeStorageSize => 16384.0
indexes => 2
indexSize => 57344.0
indexFreeStorageSize => 16384.0
totalSize => 114688.0
totalFreeStorageSize => 32768.0
scaleFactor => 1.0
fsUsedSize => 58797142016.0
fsTotalSize => 255098613760.0
ok => 1.0