Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】CRUD Operations in MongoDB

2025年10月04日に「Dev.to」が公開したITニュース「CRUD Operations in MongoDB」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

MongoDBは、JSON形式でデータを扱う人気のNoSQLデータベースだ。この記事では、学生データを例に、データの「作成」「読み取り」「更新」「削除」といった基本操作(CRUD)を、具体的なコマンドとコードで解説している。システム開発で必須となるデータベース操作の基礎を学べる。

出典: CRUD Operations in MongoDB | Dev.to公開日:

ITニュース解説

現代のソフトウェア開発において、データの管理は非常に重要な要素だ。ここで紹介するMongoDBは、そのデータ管理を担う「データベース」の一種であり、特に近年人気が高まっているNoSQLデータベースの一つとして注目されている。従来のデータベースが厳格な表形式でデータを管理するのに対し、MongoDBは柔軟な「JSONライクなドキュメント」形式でデータを保存する点が大きな特徴だ。このドキュメント形式は、多様な情報を持つ現実世界のデータを、より自然な形で扱うことを可能にし、現代のWebサービスやアプリケーション開発に適している。

データベースを扱う上で最も基本的な操作は、CRUDと呼ばれるものだ。CRUDは「Create(作成)」「Read(読み出し)」「Update(更新)」「Delete(削除)」の頭文字を取ったもので、データの作成、参照、更新、削除という一連の流れを指す。今回の記事では、このCRUD操作をMongoDBを使って、学生の情報を管理するデータベースを例に具体的に解説していく。

まず、「Create(作成)」、つまり新しいデータをデータベースに保存する方法について説明する。MongoDBでは、データの一つ一つを「ドキュメント」と呼ぶ。学生の情報であれば、一人の学生に関する氏名、年齢、学部、学年、GPAなどの情報がまとめて一つのドキュメントとして扱われる。具体的なドキュメントの構造は、例えば学生ID「S001」の学生「Santhosh」の場合、「student_id」「name」「age」「department」「year」「cgpa」といった項目(フィールド)と、それに対応する値がペアになった形式だ。MongoDBにデータを追加するには、対象となるデータベースをuse college;コマンドで選択した後、db.students.insertManyのようなコマンドを使用する。insertManyは、複数の学生ドキュメント(上記のような学生情報をまとめたデータ)を一度にデータベースへ追加する際に用いられる。コマンドの後に続く角括弧の中に、追加したい学生のドキュメントを複数記述することで、効率的に多くのデータを登録できる。

次に、「Read(読み出し)」、つまりデータベースに保存されたデータを検索して取得する方法について解説する。データを検索するにはdb.students.find()コマンドを使用する。例えば、db.students.find({});と記述すると、studentsというコレクション(データを格納する場所)に保存されている全ての学生ドキュメントを取得できる。特定の条件に合致する学生だけを検索したい場合は、find()の括弧内に条件を指定する。例えば、GPAが8を超える学生を探す場合はdb.students.find({ cgpa: { $gt: 8 } });と記述する。ここで$gtは「greater than(より大きい)」を意味する演算子で、指定した値より大きいデータを抽出する。また、特定の学部に所属する学生を検索する場合は、db.students.find({ department: "Computer Science" });のように、フィールド名とその値を直接指定することで、該当する学生のドキュメントを取得できる。

三番目に、「Update(更新)」、つまり既存のデータを変更する方法について説明する。データベースに保存されている学生の情報を修正したい場合、db.students.updateOnedb.students.updateManyといったコマンドを用いる。updateOneは、特定の条件に合致するドキュメントのうち、最初に一致した一つだけを更新する際に使う。例えば、学生ID「S005」の学生のGPAを9.2に更新する場合は、db.students.updateOne({ student_id: "S005" }, { $set: { cgpa: 9.2 } });と記述する。この$setは、指定したフィールドの値を設定(変更)する演算子だ。一方、updateManyは、特定の条件に合致する全てのドキュメントを一度に更新したい場合に利用する。例えば、全ての3年生の学年を1つ増やす(4年生にする)場合は、db.students.updateMany({ year: 3 }, { $inc: { year: 1 } });と記述する。$incは「increment(増加させる)」を意味する演算子で、指定したフィールドの数値を増減させる際に使用する。これにより、複数の学生の情報を一括で効率的に更新できる。

最後に、「Delete(削除)」、つまりデータベースから不要なデータを消去する方法について解説する。データを削除するには、db.students.deleteOnedb.students.deleteManyといったコマンドを使用する。deleteOneは、指定した条件に合致するドキュメントのうち、最初に一致した一つだけを削除する。例えば、学生ID「S004」の学生の記録を削除する場合は、db.students.deleteOne({ student_id: "S004" });と記述する。また、deleteManyは、特定の条件に合致する全てのドキュメントを削除する際に用いる。例えば、GPAが7.5未満の全ての学生の記録をデータベースから削除したい場合は、db.students.deleteMany({ cgpa: { $lt: 7.5 } });と記述する。ここで$ltは「less than(より小さい)」を意味する演算子で、指定した値より小さいデータを抽出する。これにより、条件に合致する複数のドキュメントを一括で削除できる。

以上のCRUD操作を通じて、MongoDBがデータの作成、読み出し、更新、削除といった基本的なデータベース操作をどのように実現しているか、学生データベースの例を用いて具体的に理解できたことだろう。MongoDBの柔軟なドキュメント構造と、直感的なコマンド体系は、システムエンジニアを目指す初心者にとっても、現代の多様なアプリケーション開発において非常に強力なツールとなるはずだ。

関連コンテンツ