MongoDBを使っているならMongoDB Compassを使おう(画面からの更新で作業効率アップ)

MongoDB Compassという画面からMongoDBの中身を見たり更新したりできるGUIのツールを紹介します。

MongoDBを使っていると検索(find)や更新(update)がめんどくさいと感じることがありませんか。

ターミナルやコマンドからDB操作を実行していたら、操作を間違えることもあるし手間もかかります。
(テストが雑になってバグを作ってしまうかも)

MongoDB CompassはインストールしてDBを見るまでがびっくりするほど簡単ですので、慣れていない人でもできるように解説します。

アップデートプランもありますが、基本的な機能は無料で利用できます。

効率アップ

スポンサーリンク

MongoDB Compassのインストール

MongoDB Compassのインストール

MongoDB CompassのアプリケーションをPCにインストールします。

自分のPCにインストールすれば、インストールしたPCや外部サーバのMongoDBを見ることができます。

以下のサイトからVersion、Platformsを選択し、ダウンロードします。
(VersionはStable(安定版)にします)

Download Center: Compass | MongoDB

ダウンロードした実行ファイルをダブルクリックしてインストールします。

ちなみに、MongoDB Compassのマニュアルは以下です。

MongoDB Compass — MongoDB Compass stable

MongoDB Compassの使い方

MongoDBへの接続(自分のPCのMongoDBに接続する)

まずは自分のPCのMongoDBに接続してみましょう。

事前にMongoDBを起動しておいてください。

インストールしたMongoDB Compassアプリケーションを起動すると接続設定画面が表示されます。

MongoDB Compass ログイン画面

MongoDBの設定がデフォルト設定のままであれば、Hostnameにlocalhostを入力するだけで接続できてしまいます。

セキュリティを強化してPort番号やユーザ認証を設定している場合は、Port番号やユーザ名、パスワードを入力してください。

Replica set機能を使っていなければReplica set項目は空欄でOKです。

document検索(find)

ログインするとデータベース名が一覧で表示されるので、検索したいデータベースをクリックします。

同様にcollectionの一覧からcollectionを選択します。

すると、JSON形式でdocumentを参照することができます。

TABLEタブをクリックするとTABLE形式でdocumentを参照することができます。

find

JSON形式でもTABLE形式でもこの画面から更新や削除をすることができます。

document検索(find)数が多い場合

検索ですが、documentのレコード数が多いと最新のデータまで移動するのが困難です。

そんな時はfilterで検索対象を絞ることができます。

例えば、DBには日付データ(ISODate)がある場合、以下のように検索できます。

例:2019/11/12 AM10:00(日本時間)以降でfilter

{"date":{"$gte":ISODate("2019-11-12T10:00:00.000+00:00")}}

判定の$gteの部分は$gte(以上)、$gt(より上)、$lte(以下)、$lt(より下)のように使います。

filter

document更新(update)

documentの更新はテーブルの対象の項目をダブルクリックするとできます。

更新した後はUPDATEボタンで変更を確定します。

update

document削除(remove)

documentの削除はdocumentを選択してゴミ箱ボタンをクリックするとできます。

delete

複数を選択して削除はできないので、一括で大量のdocumentを消したい時はMongoDBのクエリ(removeなど)で消した方が楽です。

高度な使い方

Aggregateを使う

MongoDBではfindの検索結果をグループ化して合計したり、平均を取ったり、ソートしたりできます。

MongoDB CompassではAggregationsタブでAggregateの機能を使うことができます。

aggregation

上の写真は以下のクエリをMongoDBで入力した例です。
title項目ごとのassess_numberの平均を取り、平均の昇順で並べています。

db.blogtest.aggregate(
{ $group :
{
_id  : "$title",
"average" : { $avg : "$access_number"}
}
},
{$sort: {"average":1}} //sort(降順)
);

まとめ

MongoDBはインストールから接続まで簡単にできます。

クエリを使いながらテストすると時間がかかるので、サクッとテストしたい人にオススメです。

参考記事

コメント

タイトルとURLをコピーしました