Javaドライバーを使い始める
Overview
Javaドライバーは、 JavaアプリケーションからMongoDBとやりとりするために使用できる同期APIです。このガイドでは、 Javaドライバーを使用してMongoDB AtlasでホストされているMongoDBクラスターに接続し、クラスター内のデータをクエリするアプリケーションを作成する方法について説明します。
Tip
MongoDB Atlasは、 MongoDB配置をホストするフルマネージドクラウドデータベースサービスです。このガイドの手順に従い、独自の無料(クレジットカード不要) MongoDB Atlas配置を作成できます。
このチュートリアルに従って、サンプルJavaアプリケーションをMongoDB Atlas配置に接続します。このチュートリアルには、次のセクションが含まれています。
ダウンロードとインストール : Javaドライバーをインストールする方法について説明します。
MongoDB配置の作成:Atlas に無料のMongoDBデプロイを作成する方法を学びます。
MongoClient の作成 : MongoDBに接続し、デプロイメントに保存されているデータをクエリするアプリケーションを作成する方法を学びます。
別のドライバーまたはプログラミング言語を使用して MongoDB に接続する場合は、公式ドライバーのリストを参照してください。
ダウンロードとインストール
開発環境にJavaドライバーとその依存関係をインストールするには、次の手順を実行します。
ドライバーの依存関係をインストールする
このチュートリアルを開始する前に、次の依存関係をインストールしていることを確認してください。
JDK 8バージョン 以降
注意
このチュートリアルでは、IDE で Maven または Gradle を使用してJavaドライバーをインストールする方法を示します。 IDE を使用しない場合は、プロジェクトのセットアップ方法は「Maven のビルド」または「新しい Gradle ビルドの作成」を参照してください。
Javaドライバーのドキュメントの Java ドライバーの追加
IDE で、新しい Maven または Gradleプロジェクトを作成します。 MongoDB JVMアーティファクトのアイテム請求書(BOM)をプロジェクトに追加して、依存関係バージョンを整理します。 BOM は、 Javaドライバーと Core ドライバー ライブラリ間など、一貫した互換性のあるバージョンの依存関係を維持することで、依存関係の管理を簡素化します。 BOM を使用すると、バージョンの競合を回避し、アップグレードを簡素化できます。
次の Maven タブと Gradle タブから選択すると、各依存関係マネージャーに BOM を追加するための手順が表示されます。
次のコードを pom.xml
ファイルの dependencyManagement
リストに追加します。
<dependencyManagement> <dependencies> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver-bom</artifactId> <version>5.4.0</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
次のコードを build.gradle
ファイルの 依存関係リストに追加します。
dependencies { implementation(platform("org.mongodb:mongodb-driver-bom:5.4.0")) }
BOM が管理する依存関係のリストを表示するには、 Maven Repositoryウェブサイトの mongodb-Driver-bom 依存関係リスト を参照してください。
Javaドライバーをインストール
Maven を使用する場合は、次のコードを pom.xml
依存関係リストに追加します。
<dependencies> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver-sync</artifactId> </dependency> </dependencies>
Gradle を使用する場合は、次のコードを build.gradle
依存関係リストに追加します。
dependencies { implementation 'org.mongodb:mongodb-driver-sync' }
BOM をインストールしたため、 Javaドライバーの依存関係エントリでバージョンを省略できます。 BOM で指定したバージョンによって、インストールする依存関係バージョンが決まります。
依存関係を構成したら、依存関係マネージャーを実行中し、IDE でプロジェクトを更新して、依存関係がプロジェクトで使用できることを確認します。
これらの手順を完了すると、新しいプロジェクトとドライバーの依存関係がインストールされます。
MongoDB 配置の作成
MongoDB Atlas では無料階層の MongoDB 配置を作成して、データを保存および管理できます。 MongoDB Atlas は、MongoDB databaseをクラウドでホストおよび管理します。
Atlas で無料の MongoDB 配置を作成
Atlas の使用開始ガイドを完了して、新しい Atlas アカウントと無料階層のMongoDBデプロイを設定します。サンプルデータをロードし、IP アクセス リストにIPアドレスを追加していることを確認します。
これらの手順を完了すると、Atlas に新しい無料階層の MongoDB 配置、データベースユーザーの認証情報、データベースに サンプル データがロードされます 。
接続文字列の作成
MongoDB配置に接続するには、 接続string とも呼ばれる 接続 URIMongoDB を提供します。これは、 配置に接続する方法と接続中の動作をドライバーに指示します。
接続stringには、配置のホスト名またはIPアドレスとポート、認証メカニズム、ユーザー認証情報(該当する場合)、および接続オプションが含まれます。
これらの手順を完了すると、データベースのユーザー名とパスワードを含む接続stringが作成されます。
サンプル クエリの実行
MongoDB Atlas配置の接続文字列を取得したら、 Javaアプリケーションから配置に接続し、Atlasサンプルデータセットをクエリできます。
Javaアプリケーションファイルを作成
プロジェクトの 基本パッケージディレクトリに、QuickStart.java
というファイルを作成します。次のコードをコピーして、このファイルに貼り付けます。このファイルは、sample_mflix
データベース内のmovies
コレクションをクエリします。
import static com.mongodb.client.model.Filters.eq; import org.bson.Document; import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; public class QuickStart { public static void main( String[] args ) { // Replace the placeholder with your MongoDB deployment's connection string String uri = "<connection string uri>"; try (MongoClient mongoClient = MongoClients.create(uri)) { MongoDatabase database = mongoClient.getDatabase("sample_mflix"); MongoCollection<Document> collection = database.getCollection("movies"); Document doc = collection.find(eq("title", "Back to the Future")).first(); if (doc != null) { System.out.println(doc.toJson()); } else { System.out.println("No matching documents found."); } } } }
接続文字列の割り当て
<connection string uri>
プレースホルダーを、このガイドの接続文字列の作成ステップからコピーした接続文字列に置き換えます。
Javaアプリケーションの実行
IDE またはシェルでアプリケーションを実行します。出力には、検索された映画ドキュメントの詳細が含まれます。
{ _id: ..., plot: 'A young man is accidentally sent 30 years into the past...', genres: [ 'Adventure', 'Comedy', 'Sci-Fi' ], ... title: 'Back to the Future', ... }
エラーが発生した場合や出力が表示されない場合は、正しい接続文字列とサンプルデータがロードされていることを確認してください。
重要
TLS v1.3 接続エラー
アプリケーションが次のコードのようなエラーを生成した場合は、JDK を最新のパッチ リリースに更新する必要がある可能性があります。
javax.net.ssl.SSLHandshakeException: extension (5) should not be presented in certificate_request
この例外は、一部の JDK バージョンで TLS 1.3プロトコルを使用する場合の既知の問題です。エラーを解決するには、JDK を次のいずれかのバージョンまたはそれ以降のバージョンに更新します。
JDK 11.0.7
JDK 13.0.3
JDK 14.0.2
これらの手順を完了すると、 MongoDBデプロイに接続し、サンプルデータに対してクエリを実行し、一致するドキュメントを返すJavaアプリケーションが作成されます。
次のステップ
チュートリアルを完了しました。
注意
このチュートリアルで問題が発生した場合は、 MongoDB Community フォーラム Rate this pageでサポートを依頼するか、このページの右側または右下にある タブを使用してフィードバックを送信してください。
このチュートリアルでは、 MongoDB AtlasでホストされているMongoDBデプロイに接続し、クエリに一致するドキュメントを検索するJavaドライバーアプリケーションを作成しました。
次のガイドを参照して、サンプルアプリケーションの開発を続けることができます。
データベースとコレクション : MongoDB のデータベースとコレクションの操作の詳細。
サードパーティ統合 : Javaドライバーで使用できるサードパーティ統合の詳細について説明します。