新製品・アップデートのご紹介MongoDB は、Voyage AI の買収を通じて、Atlas における生成 AI アプリケーションの精度と信頼性を強化します。詳しく見る >>
新着情報今すぐチェック!:AI 対応開発向け MongoDB MCP Server(パブリックプレビュー)ブログを読む >>
新着情報MongoDB 8.0:圧倒的な速度と性能を提供。詳しく見る >>

Java と MongoDB

MongoDB Atlas を無料でお試しください

JavaとMongoDBの人気の高さを考えると、両者の相性が良いのは当然のことと言えます。

ローカルまたはオンプレミスの MongoDB 環境で開発している場合でも、MongoDB Atlas でクラウドファーストを進めている場合でも、MongoDB Java ドライバーとそれを取り巻くエコシステムにより、MongoDB を開発プロセスに簡単に統合できます。

この記事では、以下の点について詳しく見ていきます。

Java で MongoDB を使用する理由とは?

Java は、最も人気のあるプログラミング言語の1つです。それには十分な理由があります。1995年に初めてリリースされて以来、Java は開発者コミュニティで大きな支持を維持してきました。金融サービス、医療、さらには公共部門を含む、多くの業界に最適です。Java はオブジェクト指向であり、WORA(一度書き込めばどこでも実行可能)であるため、再コンパイルしなくても、言語をサポートするすべてのプラットフォームで実行できます。

MongoDB は、複数のリストで最も人気のある NoSQL データベーステクノロジーとしてトップの座を占めています。これは、高可用性でスケーラブルなインターネットアプリケーションのビルドに使用されるドキュメントデータベースです。2007年に設立された MongoDB は、世界中の開発者コミュニティで多くの支持を得ています。MongoDB は常に開発者に優れたユーザーエクスペリエンスを提供することに注力しており、その他すべての機能に加えて、世界中の開発者に支持される存在となっています。

新しいものを構築する際にデータベースが必要な場合は、最初から MongoDB Atlas の使用を検討してください。Atlas は、全文検索、チャート、パートナーとの統合をはじめとする数多くの機能を備えた、完全管理型のクラウドネイティブデータベースサービスを提供します。iOS または Android 向けに構築している場合、Atlas Device Sync を使用すると、モバイルの同期を簡単に行うことができます。MongoDB Atlas 上で直接、GraphQL を使用して Web アプリケーションを構築することもできます。

Java と MongoDB の使用開始

Java 8(またはそれ以降のバージョン)がインストールされており、お好みのIDEの準備ができていることを確認してください。

まず、最新バージョンのMongoDB Java ドライバーに対する依存関係を宣言する必要があります。 Gradle または Maven を使用してこれを行う手順とコード例については、こちらをご覧ください。

最初の Atlas クラスターの作成

Java プロジェクトの依存関係をすべて設定したら、データベースが必要になります。

このガイドに従って、MongoDB Atlas でアカウントを作成し、無料階層クラスターを作成できます。また、サンプルデータを挿入する方法についても説明しています。

Atlas クラスターへの接続

前のセクションを完了すると、Atlas に新しい MongoDB クラスターがデプロイされ、新しいデータベースユーザーとパスワードが作成され、クラスターにいくつかのサンプルデータセットがロードされているはずです。

次に、ドライバーを使用してデータベースに接続します。 データベース接続を確立するには、ドライバーに接続方法を指示する必要があります。 これらの指示は接続文字列と呼ばれます。 前のステップで作成したクラスターとユーザー名の接続文字列は、Atlasアカウントで[データベース]セクションに移動し、"Connect"をクリックすると取得できます。

ドライバーとバージョンの選択を求めるポップアップが表示されます。両方のドロップダウンに入力したら、生成されたデータベース接続文字列("mongdb+srv://" で始まります)を使用してクラスターに接続できます。ご自身のユーザー名とパスワードの値に置き換える必要があることにご注意ください!

この接続文字列を使用して、アプリケーションから MongoDB クラスターでクエリを実行できます。より詳細な手順とコード例についてはこちらをご覧ください。

ドキュメントとコレクション

SQL データベースとは異なり、MongoDB は情報をドキュメントとコレクションに保存します。

ドキュメント

MongoDB はデータ レコードを BSON ドキュメントとして保存します。BSON は JSON ドキュメントのバイナリ表現ですが、JSON よりも多くのデータ型を含みます。ドキュメントはフィールドと値のペアで構成され、次の構造になっています。

 

 

フィールドに関連付けられた値は、他のドキュメント、配列、さらにはドキュメントの配列など、任意の BSONデータ型にすることができます。 フィールド名自体は文字列です。

ドキュメントは、強制されたスキーマではなく動的なスキーマを提供するため、リレーショナルデータベースの標準的な行よりもはるかに柔軟です(ただし、必要に応じて MongoDB でスキーマバリデーションを行うこともできます!)。

コレクション

MongoDB はドキュメントをコレクションに保存します。 コレクションは、関係データベースのテーブルのようなものです。 コレクションの作成方法の詳細や、コレクションに関するその他の情報については、こちらのドキュメントをご覧ください。

CRUD 操作と MongoDB クエリ言語

CRUD(作成、読み取り、更新、削除)操作は、データベースに対して実行できる4つの基本的な操作です。MongoDB の場合、CRUD 操作を使用して、ドキュメントの挿入、一致するドキュメントを検索するクエリの作成、ドキュメントの更新、ドキュメントの削除を行うことができます。これは、MongoDB クエリ言語である MQL を使用して行うことができます。SQL ステートメントとは異なり、MQL はドキュメントと同じ構文を使用するため、高度なクエリでも直感的で使いやすくなっています。

Java ドライバーを使用した4つの各操作のコード例や完全な CRUD チュートリアルは、MongoDB Developer Center でご覧いただけます。

その他のテクノロジーとの統合

おそらく、お使いの技術スタックは、単なる IDE やお気に入りのバージョンの Java 以上のものを含んでいるはずです。以下は、MongoDB を活用できる数多くの方法のほんの一部です。

Spring Data MongoDB

Spring Data MongoDB は、ストア固有の機能を維持しながら、新しいデータストアに使い慣れたコンシステントな Spring ベースのプログラミングモデルを提供することを目指す、包括的な Spring Data プロジェクトの一部です。MongoDB データベースとの統合、MongoDB コレクションを操作するための POJO 中心のモデルなどを提供します。

Hibernate ORM 用 MongoDB 拡張機能

Hibernate は、制約に対応しながら、オブジェクト指向の Java コードを関係データベースにマッピングするために作成されました。これにより、Java 開発者は、Java オブジェクトを関係永続性に変換するという退屈でエラーが発生しやすいプロセスへの負担を減らし、コードの記述により集中できるようになりました。一般提供が開始された MongoDB Extension for Hibernate ORM により、Java 開発者は、MongoDB のドキュメントモデルや、Entity アノテーション、Hibernate Query Language(HQL)サポート、Criteria クエリをはじめとする Hibernate の使いやすい機能を使用して、最新のアプリケーションを自由に柔軟にビルドできるようになります。この拡張機能には、JOIN サポート(INNER および LEFT OUTER)、オプティミスティックロック、Spring Boot 自動構成(手動オーバーライド不要)、改善された例外メッセージとログ機能も備わっており、本番環境のワークロードに対応できます。

クラウドコンピューティングプラットフォーム

パブリッククラウドプロバイダーとしては、Amazon Web Services(AWS)、Microsoft Azure、Google Cloud Platform(GCP)の3つの主要プロバイダーが挙げられます。MongoDB Atlas は、3つの主要なクラウドサービスプロバイダーすべてをサポートしています。マルチクラウド展開やマルチリージョン展開にも対応しています。詳細はこちらをご覧ください。

インフラストラクチャオートメーション

Terraform は、インフラストラクチャを安全かつ予測可能な方法で作成、変更、改善できるようにする、オープンソースの Infrastructure as Code ソフトウェアツールです。HashiCorp Terraform MongoDB Atlas Provider は、HashiCorp によってビルドされた公式プラグインであり、Terraform を使用して任意のクラウドプロバイダー上の Atlas 構成をプロビジョニング、管理、制御できます。

モニタリングサービス

Atlas からプロジェクトのメトリクスデータを Datadog ダッシュボードまたは Prometheus インスタンスに送信できます。また、Atlas を構成して、Flowdock、Microsoft Teams、OpsGenie、PagerDuty、Slack などに情報を送信することもできます。詳細については、こちらをご覧ください。

サポートを受ける

MongoDB を使用する最大のメリットは、Java ドライバーに関するあらゆる経験レベルのユーザーが参加する活気ある Java コミュニティの存在です。 一般的な質問に関するサポートを受ける最も良い方法は、MongoDB Community フォーラムを利用することです。

予期しないエラーが発生した場合、Java ドライバーのバグを発見したと思われる場合、または機能リクエストがある場合は、JAVA プロジェクトで JIRA チケットを作成してください。これを行うための手順については、ドキュメントを参照してください。Java ドライバーと Core サーバーの両方のバグ報告は公開されています。

よくある質問

今すぐ Atlas を利用する

すぐに利用を開始することができます。無料のクラスターには 512 MB のストレージが付属しているため、サンプル データを使用してプラットフォームに慣れ親しんでいただけます。
無料トライアルご相談・お問い合わせ
トライアルには以下が含まれています。
  • 世界中の 115 以上のリージョンで利用可能
  • サンプルデータセット
  • 常時認証
  • エンドツーエンドの暗号化
  • コマンドラインツール