ドライバー経由で接続
クラスターの Connect ダイアログ ボックスには、MongoDB ドライバーを使用してアプリケーションでクラスターに接続するための詳細が表示されます。
注意
サーバーレスインスタンスは、現時点では特定のドライバーまたはドライバー バージョンを介した接続をサポートしていません。詳細については、「サーバーレスインスタンスの制限」を参照してください。
➤ [言語の選択] ドロップダウン メニューを使用して、このページの例の言語を設定します。
前提条件
重要
専用クラスタの制限
C# ドライバーを .NET 5.0 Linux で実行する場合、Atlas の専用クラスターでMongoDB 6.0に接続できません。この問題は、Atlas 専用クラスターにのみ適用されます。この問題は、クラスター階層 M0から M5には影響しません。以前のバージョンの .NET または .NET Core を実行していて、.NET 5 . 0にアップグレードする場合は、MongoDB Atlas サポートにお問い合わせください。
ドライバーのバージョン
ドライバーのバージョンは、MongoDB サーバーのバージョンと互換性がある必要があります。最新のデータベース機能を使用し、将来のバージョン アップグレードに備えるために、MongoDB サーバーのバージョンと互換性のある最新のドライバーを選択することをお勧めします。
ご使用の MongoDB サーバーのバージョンの完全な機能セットを含むドライバー バージョンのリストは、MongoDB ドライバーの互換性マトリックスを確認してください。
サーバーレスインスタンスへの接続に使用できるドライバー バージョンのリストについては、「サーバーレスインスタンスに最小限必要なドライバー バージョン」を参照してください。
プライベートエンドポイントの背後にあるシャーディングされたクラスターの最適化された接続文字列
ドライバーと最適化された接続文字列を使用してシャーディングされたクラスターに接続するには、次のドライバー バージョンのうち少なくとも 1 つを使用する必要があります。
TLS
Atlas クラスターに接続するには、クライアントが TLS をサポートしている必要があります。
クライアントは AtlasM0
無料クラスターまたは Flex クラスターに接続するために SNI TLS 拡張機能をサポートしている必要があります。
お使いの MongoDB ドライバーが SNI TLS 拡張をサポートしていることを確認するには、ドライバーのドキュメントの互換性セクションを参照してください。ドライバーが MongoDB 6.0 以降と互換性がある場合、SNI TLS 拡張はサポートされています。
IP アクセス リスト
クラスターにアクセスするには、Atlas プロジェクトの IP アクセス リストにある IP アドレスから接続する必要があります。IP アクセス リストに IP アドレスを追加する必要がある場合は、Connect ダイアログ ボックスで追加できます。[ネットワーク アクセス] タブから IP アドレスを追加することもできます。
データベースユーザー
クラスターにアクセスするには、Atlas クラスター上の目的のデータベースへのアクセス権を持つ データベース ユーザー を作成する必要があります。データベース ユーザーは Atlas ユーザーとは別です。データベース ユーザーは MongoDB データベースにアクセスでき、Atlas ユーザーは Atlas アプリケーション自体にアクセスできます。
Connect ダイアログ ボックスで、Atlas クラスターにアクセスするためのデータベースユーザーを作成できます。クラスター ビューからデータベースユーザーを追加することもできます。
アプリケーションの接続
AtlasGoClustersAtlas で、プロジェクトの ページにGoします。
警告
ナビゲーションの改善が進行中
現在、新しく改良されたナビゲーション エクスペリエンスを導入中です。次の手順が Atlas UI の表示と一致しない場合は、プレビュー ドキュメントを参照してください。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
まだ表示されていない場合は、サイドバーの [Clusters] をクリックします。
[ Clusters (クラスター) ] ページが表示されます。
接続セキュリティを選択します。
Choose Connection Type (使用可能なボタンのセットから選択)。
注意
機能が有効な場合のオプション表示
Atlas は、ピアリングのプライベート IP、プライベートエンドポイント、またはその両方を有効にすると、接続タイプのオプションを表示します。どちらの機能も有効にしていない場合、ボタンは表示されず、接続タイプのデフォルトは標準になります。
許可されたパブリック IP アドレスにはこの接続タイプを使用します。
ピアリングを有効にした場合は、次の接続タイプを使用します。
Google Cloud Platform または Azure の場合、ピアリングされたネットワークからドライバーに接続している場合、または
AWS の場合、カスタム DNS サービスを使用するピアリングされたネットワークからドライバーに接続します。
これらのいずれも当てはまらない場合は、IP アドレスを IP アクセス リストに追加し、標準接続文字列を使用します。オフィスまたは自宅のネットワークから Atlas に直接接続する場合は、このオプションが望ましいでしょう。
注意
ピアリングが利用可能である必要があります
ピアの 1 つが AVAILABLE
としてマークされていない限り、このオプションを選択することはできません。ピアのステータスを確認する方法については、Atlas ネットワークピアリング接続の表示 を参照してください。
注意
マルチクラウドクラスター
アプリケーションがクラスターの プライマリ と同じクラウドサービスプロバイダーでホストされていない場合、アプリケーションはセカンダリ読み取りのみを実行できます。
マルチクラウド クラスターの場合は、readPreference 接続オプションを接続文字列 に追加することを検討してください。次のいずれかの値を使用します。
プライベートエンドポイント接続を介してドライバーに接続する場合は、ドライバーが以下のいずれかの理由で適切なインターフェイスエンドポイントの接続文字列を使用してください。
クラウドプロバイダー ネットワーク内で実行されます、または
クラウドプロバイダー ネットワークへの推移的なネットワーク アクセスを持ちます。
最適化された接続文字列 を使用したいと考えています。
これらのいずれにも当てはまらない場合は、IP アドレスを IP アクセス リストに追加し、標準接続文字列を使用します。オフィスや自宅のネットワークから Atlas に直接接続する場合は、このオプションが望ましいでしょう。
注意
構成された PrivateLink 接続が使用可能状態になっていない限り、このオプションを選択することはできません。AWS PrivateLink のステータスを確認する方法については、プライベートエンドポイント接続の問題のトラブルシューティング を参照してください。
クラスターへの接続を制限する方法を選択します。
Add a Connection IP Address
重要
Atlas が Setup connection security ステップで、クラスターに IP アクセス リスト エントリがすでに設定されていることを示している場合は、このステップをスキップします。IP アクセス リストを管理するには、「アクセス リストへのエントリの追加」を参照してください。
Atlas はプロジェクトの IP アクセス リストのエントリからクラスターへの標準クライアント接続を許可します。プロジェクトの IP アクセス リストは、API アクセス リストとは異なります。APIアクセスリストは、特定の IP アドレスまたは CIDR アドレスへの API アクセスを制限します。
IP アクセス リストが空の場合、Atlas はプロジェクトの IP アクセス リストに IP アドレスを追加するように求めます。次のいずれかを実行できます。
現在の IP アドレスからのアクセスを許可するには、 [Add Your Current IP Address] をクリックします。
単一の IP アドレスまたはCIDR表記のアドレス範囲を追加するには、[Add an IP Address] をクリックします。
新しく追加された IP アドレスまたは CIDR 範囲の説明を任意で入力します。[Add IP Address] をクリックして、アドレスを IP アクセス リストに追加します。
Add a Connection IP Address
重要
Atlas がSetup connection securityステップで、クラスターに IP アクセス リスト エントリーがすでに設定されていることを示している場合は、このステップをスキップします。IP アクセス リストを管理するには、 「IP アクセス リストへのエントリの追加」を参照してください。
Atlas はプロジェクトの IP アクセス リストのエントリからクラスターへの標準クライアント接続を許可します。プロジェクトの IP アクセス リストは、API アクセス リストとは異なります。APIアクセスリストは、特定の IP アドレスまたは CIDR アドレスへの API アクセスを制限します。
IP アクセス リストが空の場合、Atlas はプロジェクトの IP アクセス リストに IP アドレスを追加するように求めます。単一の IP アドレスまたは CIDR 表記のアドレス範囲を追加するには、[Add a Different IP Address] をクリックします。
新しく追加された IP アドレスまたは CIDR 範囲の説明を任意で入力します。[Add IP Address] をクリックして、アドレスを IP アクセス リストに追加します。
Choose Connection Type で Private Endpoint を選択します。
Private Link Typeオプションが表示された場合は、次のいずれかのオプションを選択します。
Optimized SRV Connection 負荷分散された接続用。
Legacy SRV Connection 負荷分散されていない接続の場合。
詳細については、「プライベートエンドポイントの背後にあるシャーディングされたクラスターの接続パフォーマンスの向上」を参照してください。
[ Choose Private Endpoint] で、使用するエンドポイントを選択します。
データベースユーザーを作成します。
重要
Atlas がSetup connection security の手順でプロジェクトに少なくとも 1 人のデータベースユーザーが設定されていることを示している場合は、この手順をスキップします。既存のデータベースユーザーを管理するには、「データベースユーザーの構成」を参照してください。
クラスターにアクセスするには、プロジェクト内の目的のデータベースまたはクラスター上のデータベースにアクセスできる MongoDB ユーザーが必要です。プロジェクトに MongoDB ユーザーがいない場合、Atlas は Atlas 管理者ロールを持つ新しいユーザーを作成するように要求します。
新しいユーザーの Username を入力します。
この新しいユーザーの Password を入力するか、Autogenerate Secure Password をクリックします。
Create Database User をクリックしてユーザーを保存します。
次のステップでは、このユーザーを使用してクラスターに接続します。
IP アクセス リストに IP アドレスを追加し、データベースユーザーを追加したら、Choose Your Connection Method をクリックします。
ドライバーとバージョンを選択します。
ドロップダウン メニューからドライバーとバージョンを選択します。接続文字列を含むコード サンプルが表示されます。<password>
を、データベースユーザーの作成時に指定したパスワードに置き換えます。
注意
パスワード、データベース、または接続文字列に予約済みの URI 文字が含まれている場合は、それらの文字をエスケープする必要があります。たとえば、パスワードが @bc123
の場合、接続文字列でパスワードを指定するときは、%40bc123
などに指定して、@
の文字をエスケープする必要があります。詳細については、「接続文字列パスワードの特殊文字」を参照してください。
詳細については、「ドライバーの互換性」を参照してください。
ドライバーの例
次の例では、URI 接続文字列を使用して Atlas クラスターを認証し、接続します。例にあるプレースホルダーを、認証情報と配置の詳細で置き換えます。
注意
AtlasM0
無料クラスターまたは Flex クラスターに接続するには、 MongoDB6.0 以降をサポートするCドライバー バージョンを使用する必要があります。 CドライバーとMongoDBの互換性に関する完全なドキュメントについては、 「 MongoDB互換性マトリックス 」を参照してください。最新バージョンのドライバーにアップグレードすることをお勧めします。
client = mongoc_client_new ("mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority"); db = mongoc_client_get_database (client, "<databaseName>");
MongoDB バージョン | 推奨ドライバーのバージョン |
---|---|
すべて | 最新の推奨ドライバー バージョンについては、MongoDB 互換性マトリックスを参照してください。 |
MongoDB 6.0 以降 | バージョン 1.11 以降 |
動作
注意
以下の構成オプションは、C ドライバーをシングルスレッド モードで実行する場合にのみ適用されます。
MongoDB ドライバーは、クラスターの選択またはフェイルオーバー イベントの後に自動的にサーバーの選択を試みます。デフォルトでは、C ドライバーは、サーバーを選択する最初の試行が失敗するとすぐにエラーを発生させます。以下の設定により、Atlas クラスタへのアプリケーションの接続性を向上させることができますが、サーバ選択ループに多くの時間を費やすことになります。
serverSelectionTryOnceを
false
に設定すると、C ドライバーはserverSelectionTimeoutMS
で定義された時間制限までサーバー選択を実行します。serverSelectionTimeoutMS をデフォルトの
30000
から15000
に下げます。MongoDB の選挙には通常 10 秒かかりますが、Atlas では 5 秒ほどで完了します。この値を 15 秒(15000
ミリ秒)に設定すると、選挙の上限とレイテンシの追加時間がカバーされます。
注意
AtlasM0
無料クラスターまたは Flex クラスターに接続するには、 MongoDB 以降をサポートするC++ドライバー6.0 バージョンを使用する必要があります。 C++ドライバーとMongoDBの互換性に関する完全なドキュメントについては、 MongoDB互換性マトリックス を参照してください。最新バージョンのドライバーにアップグレードすることをお勧めします。
//... mongocxx::instance inst{}; mongocxx::client conn{mongocxx::uri{"mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority"}}; mongocxx::database db = conn["<databaseName>"];
MongoDB バージョン | 推奨ドライバーのバージョン |
---|---|
すべて | 最新の推奨ドライバー バージョンについては、MongoDB 互換性マトリックスを参照してください。 |
注意
レガシー C++ ドライバーはEOL(End Of Life)に達したため、サポートは終了しました。
動作
注意
以下の構成オプションは、C++ ドライバーのシングルスレッド mongocxx::client
クラスを使用して Atlas クラスターに接続する場合にのみ適用されます。
MongoDB ドライバーは、クラスターの選挙またはフェイルオーバー イベントの後に自動的にサーバーの選択を試行します。デフォルトでは、C++ ドライバーは、サーバーを選択する最初の試行が失敗するとすぐにエラーを発生させます。以下の構成設定により、Atlas クラスターに対するアプリケーションの接続性は向上するかもしれませんが、サーバーを選択するためのループにかかる時間は増加します。
serverSelectionTryOnce を
false
に設定すると、C++ ドライバーはserverSelectionTimeoutMS
で定義された時間制限までサーバー選択を実行します。serverSelectionTimeoutMS をデフォルトの
30000
から15000
に下げます。MongoDB の選挙には通常 10 秒かかりますが、Atlas では 5 秒ほどで完了します。この値を 15 秒(15000
ミリ秒)に設定すると、選挙の上限とレイテンシの追加時間がカバーされます。
注意
AtlasM0
無料クラスターまたは Flex クラスターに接続するには、 MongoDB 以降をサポートするC# /.NET ドライバー6.0 バージョンを使用する必要があります。 C#/.NET ドライバーとMongoDB間の互換性に関する完全なドキュメントについては、 MongoDB互換性マトリックス を参照してください。最新バージョンのドライバーにアップグレードすることをお勧めします。
var client = new MongoClient("mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority"); var database = client.GetDatabase("<databaseName>");
MongoDB バージョン | 推奨ドライバーのバージョン |
---|---|
すべて | 最新の推奨ドライバー バージョンについては、MongoDB 互換性マトリックスを参照してください。 |
MongoDB 6.0 以降 | バージョン 2.7 以降 |
注意
Microsoft .NET Core ライブラリ2.1 バージョン 以降 では、 Linuxおよび macOS で SNI TLS 拡張機能がサポートされます。これらのプラットフォームで以前のバージョンの.NET Core を使用しているアプリケーションは、AtlasM0
無料クラスターまたは Flex クラスターに接続できません。
この要件の詳細については、この dotnet/corefx の問題を参照してください。
注意
AtlasM0
無料クラスターまたは Flex クラスターに接続するには、 MongoDB6.0 以降をサポートするGoドライバー バージョンを使用する必要があります。 GoドライバーとMongoDBの互換性に関する完全なドキュメントについては、 MongoDB互換性マトリックス を参照してください。最新バージョンのドライバーにアップグレードすることをお勧めします。
uri := "mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority" clientOpts := options.Client().ApplyURI(uri).SetTimeout(10 * time.Second) client, err := mongo.Connect(clientOpts) if err != nil { log.Fatalf("Failed to connect to MongoDB: %v", err) } defer func() { if err = client.Disconnect(); err != nil { log.Fatalf("Failed to disconnect from MongoDB: %v", err) } }() ctx := context.Background() // Ping the primary if err := client.Ping(ctx, readpref.Primary()); err != nil { log.Fatalf("Failed to ping MongoDB: %v", err) }
MongoDB バージョン | 推奨ドライバーのバージョン |
---|---|
すべて | 最新の推奨ドライバー バージョンについては、MongoDB 互換性マトリックスを参照してください。 |
MongoDB 6.0 以降 | バージョン 1.0.0以降 |
注意
AtlasM0
クラスターまたは Flex クラスターに接続するには、 Javaバージョン 以降を使用し、8 さらにMongoDB6.0 以降をサポートするJavaドライバー バージョンを使用する必要があります。 JavaドライバーとMongoDBの互換性の詳細については、 MongoDB互換性マトリックス を参照してください。
MongoClientURI uri = new MongoClientURI( "mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority"); MongoClient mongoClient = MongoClients.create(uri); MongoDatabase database = mongoClient.getDatabase("<databaseName>");
MongoDB バージョン | 推奨ドライバーのバージョン |
---|---|
すべて | 最新の推奨ドライバー バージョンについては、MongoDB 互換性マトリックスを参照してください。 |
MongoDB 6.0 以降 | バージョン 3.8 以降 |
注意
AtlasM0
無料クラスターまたは Flex クラスターに接続するには、 MongoDB 以降をサポートするKotlinドライバー6.0 バージョンを使用する必要があります。 KotlinドライバーとMongoDBの互換性に関する完全なドキュメントについては、「 MongoDB互換性マトリックス 」を参照してください。最新バージョンのドライバーにアップグレードすることをお勧めします。
val uri = "mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority" // Construct a ServerApi instance using the ServerApi.builder() method val serverApi = ServerApi.builder() .version(ServerApiVersion.V1) .build() val settings = MongoClientSettings.builder() .applyConnectionString(ConnectionString(uri)) .serverApi(serverApi) .build() // Create a new client and connect to the server val mongoClient = MongoClient.create(settings) val database = mongoClient.getDatabase("<databaseName>") try { // Send a ping to confirm a successful connection val command = Document("ping", BsonInt64(1)) val commandResult = database.runCommand(command) println("Pinged your deployment. You successfully connected to MongoDB!") } catch (me: MongoException) { System.err.println(me) }
MongoDB バージョン | 推奨ドライバーのバージョン |
---|---|
MongoDB 6.0 以降 | バージョン 4.10 以降 |
注意
AtlasM0
無料クラスターまたは Flex クラスターに接続するには、 MongoDB 以降をサポートするNode.jsドライバー バージョンを使用する必要があります。6.0 Node.jsドライバーとMongoDBの互換性に関する完全なドキュメントについては、「 MongoDB互換性マトリックス 」を参照してください。最新バージョンのドライバーにアップグレードすることをお勧めします。
import mongodb from 'mongodb'; const MongoClient = mongodb.MongoClient; const uri = "mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority"; const client = new MongoClient(uri, { useNewUrlParser: true }); client.connect(err => { const collection = client.db("<databaseName>").collection("<collectionName>"); // perform actions on the collection object client.close(); });
admin
以外のデータベースに接続し、admin
データベースに対して認証を行うには、接続文字列の database
コンポーネントを更新します。
mongodb://username:password@host1:port1,...,hostN:portN/database?authSource=admin&...
例
次の接続文字列は、cluster0
配置と test
データベース コンポーネントを指定し、authSource=admin
オプションを含みます。
var uriTestDb = "mongodb+srv://<db_username>:<db_password>@cluster0.mongodb.net/test?ssl=true&authSource=admin&w=majority"; MongoClient.connect(uriTestDb, function(err, db) { db.close(); });
MongoDB バージョン | 推奨ドライバーのバージョン |
---|---|
すべて | 最新の推奨ドライバー バージョンについては、MongoDB 互換性マトリックスを参照してください。 |
MongoDB 6.0 以降 | バージョン 3.1 以降 |
注意
AtlasM0
無料クラスターまたは Flex クラスターに接続するには、 MongoDB6.0 以降をサポートするPHPドライバー バージョンを使用する必要があります。 PHPドライバーとMongoDBの互換性に関する完全なドキュメントについては、 「 MongoDB互換性マトリックス 」を参照してください。最新バージョンのドライバーにアップグレードすることをお勧めします。
次の例では、MongoDB PHP ライブラリを使用します。このライブラリは低レベルの PHP ドライバーの上に高レベルの抽象化を提供します。
$client = new MongoDB\Client( 'mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority'); $db = $client-><databaseName>;
MongoDB バージョン | 推奨ドライバーのバージョン |
---|---|
すべて | 最新の推奨ドライバー バージョンについては、MongoDB 互換性マトリックスを参照してください。 |
MongoDB 6.0 以降 | PHPLIB 1.4 + mongodb-1.5. |
動作
MongoDB ドライバーは、クラスターの選挙またはフェイルオーバー イベントの後に自動的にサーバーの選択を試行します。デフォルトでは、サーバーを選択する最初の試行が失敗すると、ドライバーはすぐにエラーを発生させます。 以下の構成設定により、Atlas クラスターに対するアプリケーションの接続性は向上するかもしれませんが、サーバーを選択するためのループにかかる時間は増加します。
serverSelectionTryOnce を
false
に設定すると、ドライバーはserverSelectionTimeoutMS
で定義された時間制限までサーバー選択を実行します。serverSelectionTimeoutMS をデフォルトの
30000
から15000
に下げます。MongoDB の選挙には通常 10 秒かかりますが、Atlas では 5 秒ほどで完了します。この値を 15 秒(15000
ミリ秒)に設定すると、選挙の上限とレイテンシの追加時間がカバーされます。
注意
AtlasM0
クラスターまたは Flex クラスターに接続するには、2.7.9 Python 以降を使用し、 さらにMongoDB6.0 以降をサポートするPythonドライバー バージョンを使用する必要があります。 PythonドライバーとMongoDBの互換性の詳細については、 MongoDB互換性マトリックス を参照してください。
import pymongo import dns # required for connecting with SRV client = pymongo.MongoClient("mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority") db = client.<databaseName>
MongoDB バージョン | 推奨ドライバーのバージョン |
---|---|
すべて | 最新の推奨ドライバー バージョンについては、MongoDB 互換性マトリックスを参照してください。 |
MongoDB 6.0 以降 | バージョン 3.7 以降 |
注意
macOS と Python 3.6 インストーラー
https://www.python.org の macOS 用 Python3 .6 インストーラーは CA 証明書を自動的にインストールしません。CA 証明書がインストールされていない場合、Atlas への接続で証明書の検証が失敗します。
https://www.python.org からインストーラーを実行した後 Python3.6をインストールするには、Atlas に接続する前に、次のスクリプトを実行して最新の CA バンドルをインストールする必要があります。
open "/Applications/Python 3.6/Install Certificates.command"
macOS 用の Python3.6 インストーラーの詳細については、 https://www.python.org をご覧ください。https://bugs.python.org/issue29065#msg283984を参照してください。Python の以前のバージョンと Python 3.6が他の手段でインストールされた場合(例:Homebrew )は影響を受けません。
注意
AtlasM0
無料クラスターまたは Flex クラスターに接続するには、 MongoDB6.0 以降をサポートするRubyドライバー バージョンを使用する必要があります。 RubyドライバーとMongoDBの互換性に関する完全なドキュメントについては、 「 MongoDB互換性マトリックス 」を参照してください。最新バージョンのドライバーにアップグレードすることをお勧めします。
client = Mongo::Client.new('mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority')
admin
以外のデータベースに接続し、admin
データベースに対して認証を行うには、接続文字列の database
コンポーネントを更新します。
mongodb://username:password@host1:port1,...,hostN:portN/database?authSource=admin&...
例
次の接続文字列は、cluster0
配置と test
データベースコンポーネントを指定し、authSource=admin
オプションを含みます。
client = Mongo::Client.new('mongodb+srv://<db_username>:<db_password>@cluster0.mongodb.net/test?ssl=true&replicaSet=Mycluster0-shard-0&authSource=admin&w=majority')
MongoDB バージョン | 推奨ドライバーのバージョン |
---|---|
すべて | 最新の推奨ドライバー バージョンについては、MongoDB 互換性マトリックスを参照してください。 |
MongoDB 6.0 以降 | バージョン 2.6 以降 |
Mongoid の例
production: # Configure available database clients. (required) clients: # Defines the default client. (required) default: # Defines the name of the default database that Mongoid can connect to. # (required). database: 'myDatabaseName' # Provides the hosts the default client can connect to. Must be an array # of host:port pairs. (required) hosts: - mycluster0-shard-00-00.mongodb.net:27017 - mycluster0-shard-00-01.mongodb.net:27017 - mycluster0-shard-00-02.mongodb.net:27017 options: # The name of the user for authentication. user: <username> # The password of the user for authentication. password: <password> # The database or source to authenticate the user against. If the database # specified above is not admin, admin MUST be specified here. auth_source: admin # All Atlas servers use SSL. (default: false) ssl: true
MongoDB バージョン | ODM の最小バージョン |
---|---|
MongoDB 6.0 以降 |
ドライバーが使用するデフォルトの非同期ランタイムは tokio
です。別のランタイムを使用するには、「非同期ランタイムの構成」を参照してください。
注意
AtlasM0
無料クラスターまたは Flex クラスターに接続するには、 MongoDB 以降をサポートするRustドライバー6.0 バージョンを使用する必要があります。 RustドライバーとMongoDBの互換性に関する完全なドキュメントについては、 「 MongoDB互換性マトリックス 」を参照してください。最新バージョンのドライバーにアップグレードすることをお勧めします。
use mongodb::{options::ClientOptions, Client}; async fn main() -> mongodb::error::Result<()> { let client_options = ClientOptions::parse( "mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority", ) .await?; let client = Client::with_options(client_options)?; let _database = client.database("<databaseName>"); // List the names of the databases in that cluster for db_name in client.list_database_names(None, None)? { println!("{}", db_name); } Ok(()) }
MongoDB バージョン | 推奨ドライバーのバージョン |
---|---|
すべて | 最新の推奨ドライバー バージョンについては、MongoDB 互換性マトリックスを参照してください。 |
同期 API が有効になっていることを確認します。詳細については、同期 API の有効化を を参照してください。
注意
AtlasM0
無料クラスターまたは Flex クラスターに接続するには、 MongoDB 以降をサポートするRustドライバー6.0 バージョンを使用する必要があります。 RustドライバーとMongoDBの互換性に関する完全なドキュメントについては、 「 MongoDB互換性マトリックス 」を参照してください。最新バージョンのドライバーにアップグレードすることをお勧めします。
use mongodb::{bson::doc, sync::Client}; fn main() -> mongodb::error::Result<()> { let client_options = ClientOptions::parse( "mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority", )?; // Ping the server to see if you can connect to the cluster client .database("admin") .run_command(doc! {"ping": 1}, None)?; println!("Connected successfully."); // List the names of the databases in that cluster for db_name in client.list_database_names(None, None)? { println!("{}", db_name); } Ok(()) }
MongoDB バージョン | 推奨ドライバーのバージョン |
---|---|
すべて | 最新の推奨ドライバー バージョンについては、MongoDB 互換性マトリックスを参照してください。 |
注意
AtlasM0
無料クラスターまたは Flex クラスターに接続するには、 MongoDB6.0 以降をサポートするScalaドライバー バージョンを使用する必要があります。 ScalaドライバーとMongoDBの互換性に関する完全なドキュメントについては、「 MongoDB互換性マトリックス 」を参照してください。最新バージョンのドライバーにアップグレードすることをお勧めします。
val uri: String = "mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority" System.setProperty("org.mongodb.async.type", "netty") val client: MongoClient = MongoClient(uri) val db: MongoDatabase = client.getDatabase("<databaseName>")
MongoDB バージョン | 推奨ドライバーのバージョン |
---|---|
すべて | 最新の推奨ドライバー バージョンについては、MongoDB 互換性マトリックスを参照してください。 |
注意
AtlasM0
無料クラスターまたは Flex クラスターに接続するには、 MongoDB6.0 以降をサポートするSwiftドライバー バージョンを使用する必要があります。 SwiftドライバーとMongoDBの互換性に関する完全なドキュメントについては、 「 MongoDB互換性マトリックス 」を参照してください。最新バージョンのドライバーにアップグレードすることをお勧めします。
import MongoSwift import NIO let elg = MultiThreadedEventLoopGroup(numberOfThreads: 4) let uri = "mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority" let client = try MongoClient( uri, using: elg ) defer { // clean up driver resources try? client.syncClose() cleanupMongoSwift() // shut down EventLoopGroup try? elg.syncShutdownGracefully() } // print a list of database names to confirm connection print(try client.listDatabaseNames().wait())
MongoDB バージョン | 推奨ドライバーのバージョン |
---|---|
すべて | 最新の推奨ドライバー バージョンについては、MongoDB 互換性マトリックスを参照してください。 |
注意
AtlasM0
無料クラスターまたは Flex クラスターに接続するには、 MongoDB6.0 以降をサポートするSwiftドライバー バージョンを使用する必要があります。 SwiftドライバーとMongoDBの互換性に関する完全なドキュメントについては、 「 MongoDB互換性マトリックス 」を参照してください。最新バージョンのドライバーにアップグレードすることをお勧めします。
import MongoSwiftSync let uri = "mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority" let client = try MongoClient(uri) // print a list of database names to confirm connection print (try client.listDatabaseNames())
MongoDB バージョン | 推奨ドライバーのバージョン |
---|---|
すべて | 最新の推奨ドライバー バージョンについては、MongoDB 互換性マトリックスを参照してください。 |
トラブルシューティング
クラスターへの接続に問題がある場合は、「接続の問題のトラブルシューティング」を参照してください。