【ITニュース解説】Hands-On with MongoDB: Storing, Querying & Analyzing Data
2025年09月11日に「Dev.to」が公開したITニュース「Hands-On with MongoDB: Storing, Querying & Analyzing Data」について初心者にもわかりやすく解説しています。
ITニュース概要
人気のNoSQLデータベースMongoDBの基本操作をMongoDB Compassで解説。データの挿入、検索、集計、更新、削除、エクスポートといった一連の操作をGUIで簡単に実行可能だ。コマンド不要で、初心者でも手軽にデータ操作を学べる実践的な記事。
ITニュース解説
MongoDBは、現代のウェブアプリケーション開発において非常に人気のあるデータベースの一つだ。リレーショナルデータベースとは異なり、NoSQLデータベースというカテゴリに属し、データを「ドキュメント」と呼ばれる柔軟な形式で保存する特徴がある。このドキュメントは、JSON(JavaScript Object Notation)に似た構造を持ち、表形式に厳密に縛られずに情報を扱うことができるため、変化の激しいデータや多様なデータを扱うのに適している。この記事では、MongoDBの基本的な使い方を、初心者でも直感的に操作できるGUIツール「MongoDB Compass」を使いながら解説する。データストアの基本であるデータの保存、検索、分析、更新、削除といった一連の操作を具体的に見ていこう。
まず、MongoDBを利用するには、その基盤となる「MongoDB Community Server」と、操作を視覚的にサポートする「MongoDB Compass」という二つのソフトウェアをインストールする必要がある。Community Serverは、実際にデータが保存され、処理される場所であり、データベースそのものだ。一方、MongoDB Compassは、コマンドラインで複雑な命令を打ち込むことなく、マウス操作でデータベースを管理できる非常に便利なツールである。これにより、システムエンジニアを目指す初心者でも、データベースの内部構造を理解しやすく、スムーズに学習を進められる。
インストールが完了したら、次にデータを保存するための場所を作る。MongoDBでは、「データベース」という大きな箱の中に、さらに「コレクション」というグループを作ってデータを管理する。今回の例では、「mydb」という名前のデータベースを作成し、その中に「reviews」という名前のコレクションを作成した。コレクションは、リレーショナルデータベースにおけるテーブルのようなものだが、中に格納されるドキュメント(データ行)の構造は、テーブルのように厳密に定義されている必要がない点が異なる。例えば、あるドキュメントには「レビュー」の項目があるが、別のドキュメントにはなくても問題ない、といった柔軟性を持っている。
データベースとコレクションが準備できたら、実際にデータをコレクションに挿入する。MongoDBでは、データをJSON形式の「ドキュメント」として扱う。この記事の例では、business_id、name、review、ratingといった情報を持つ複数のドキュメントを手動で挿入した。例えば、{ "business_id": 1, "name": "Pizza Point", "review": "The pizza was good", "rating": 4 }という形式のデータがそれにあたる。Compassを使えば、このJSON形式のデータを直接入力したり、既存のファイルをインポートしたりして、簡単にデータを追加できる。
データが格納されたら、次はそれらを分析してみよう。特定の条件でデータを集計する「Aggregation(集計)」は、MongoDBの強力な機能の一つだ。記事の例では、「平均評価の高い上位5つのビジネス」を見つける方法を示している。これは複数の「ステージ」をパイプラインのように繋げて実行する。まず最初のステージでは$groupという操作を使い、business_idごとにデータをまとめる。この時、それぞれのビジネスのname(名前)を一つ取得し、rating(評価)の$avg(平均)を計算して、avgRatingという新しいフィールドに格納する。次に、第二のステージではavgRatingが高い順に並べ替えるため、$sort: { "avgRating": -1 }(-1は降順を意味する)を使う。そして最後のステージで$limit: 5を使って、結果を上位5つに絞り込む。このように複数の操作を組み合わせることで、複雑な分析も簡単に実行できる。
次に、特定のキーワードを含むレビューを検索する方法を見ていく。MongoDB Compassの「Filter」バーに検索条件を入力することで、目的のデータを素早く見つけることができる。例では、{ "review": { "$regex": "good", "$options": "i" } }という条件を使って、「good」という単語を含むレビューを検索している。ここで$regexは正規表現を意味し、特定のパターンに一致する文字列を検索する際に使用される。$options: "i"は、大文字と小文字を区別せずに検索するためのオプションだ。これにより、「Good」でも「good」でも一致する結果が得られる。
さらに、特定のビジネスのレビューだけを見たい場合、もっとシンプルな検索条件を使うことも可能だ。例えば、{ "business_id": 2 }と入力すれば、business_idが「2」であるビジネスに関連するすべてのレビューを瞬時に表示できる。このように、MongoDBのクエリ(検索)は非常に柔軟で、様々な条件を組み合わせて必要な情報を効率的に取り出すことができる。
データは一度入れたら終わりではなく、状況に応じて更新する必要がある。記事の例では、business_idが「2」のビジネスのレビューを更新している。具体的には、{ "business_id": 2 }で更新対象のドキュメントを指定し、{ "$set": { "review": "Excellent variety of books" } }という更新操作を実行する。$setは、指定されたフィールドの値を新しい値に置き換えるためのオペレーターだ。このようにして、既存のデータを簡単に修正できる。
また、不要になったデータは削除することもできる。MongoDB Compassでは、特定の条件に一致するドキュメントを簡単に削除する機能が提供されている。例えば、特定のbusiness_idを持つドキュメントを削除したり、誤って挿入されたドキュメントをピンポイントで削除したりすることが可能だ。データを削除する前と後で、実際にデータがなくなったことをCompassの画面上で確認できるため、安全に操作を進められる。
最後に、データベースから抽出したデータを外部に持ち出す方法も重要だ。MongoDB Compassでは、集計結果や検索結果を簡単にエクスポートできる機能がある。記事の例では、平均評価の高い上位5つのビジネスのデータをJSON形式でエクスポートしている。CSV形式でのエクスポートも可能で、他のアプリケーションでの利用やレポート作成など、様々な用途で活用できる。エクスポートされたJSONデータは、ウェブ開発でAPIを通じてデータをやり取りする際など、実際のITシステムで頻繁に利用される形式だ。
このように、MongoDB Compassを使うことで、データの挿入、検索、集計、更新、削除、エクスポートといった一連のデータベース操作を、コマンドを覚えることなく視覚的に、そして非常に簡単に行うことができる。システムエンジニアを目指す初心者にとって、このような直感的なツールは、データベースの概念や操作を実践的に学び、理解を深めるための強力な手助けとなるだろう。MongoDBはその柔軟性と性能から、現代の多くのアプリケーションで採用されており、その基本的な操作を習得することは、これからのエンジニアにとって非常に価値のあるスキルとなる。