ドライバー経由で接続
クラスターの Connect ダイアログ ボックスには、MongoDB ドライバーを使用してアプリケーションでクラスターに接続するための詳細が表示されます。
注意
サーバーレスインスタンスは、現時点では特定のドライバーまたはドライバー バージョンを介した接続をサポートしていません。詳細については、「サーバーレスインスタンスの制限」を参照してください。
➤ [言語の選択] ドロップダウン メニューを使用して、このページの例の言語を設定します。
前提条件
重要
専用クラスタの制限
C# ドライバーを .NET 5.0 Linux で実行する場合、Atlas の専用クラスターでMongoDB 4.0に接続できません。この問題は、Atlas 専用クラスターにのみ適用されます。この問題は、クラスター階層 M0から M5には影響しません。以前のバージョンの .NET または .NET Core を実行していて、.NET 5 . 0にアップグレードする場合は、MongoDB Atlas サポートにお問い合わせください。
ドライバーのバージョン
ドライバーのバージョンは、MongoDB サーバーのバージョンと互換性がある必要があります。最新のデータベース機能を使用し、将来のバージョン アップグレードに備えるために、MongoDB サーバーのバージョンと互換性のある最新のドライバーを選択することをお勧めします。
ご使用の MongoDB サーバーのバージョンの完全な機能セットを含むドライバー バージョンのリストは、MongoDB ドライバーの互換性マトリックスを確認してください。
サーバーレスインスタンスへの接続に使用できるドライバー バージョンのリストについては、「サーバーレスインスタンスに最小限必要なドライバー バージョン」を参照してください。
プライベートエンドポイントの背後にあるシャーディングされたクラスターの最適化された接続文字列
ドライバーと最適化された接続文字列を使用してシャーディングされたクラスターに接続するには、次のドライバー バージョンのうち少なくとも 1 つを使用する必要があります。
TLS
Atlas クラスターに接続するには、クライアントが TLS をサポートしている必要があります。
クライアントは、Atlas M0
フリークラスターまたは M2/M5
共有クラスターに接続するには、SNI TLS 拡張機能をサポートしている必要があります。MongoDB ドライバーが SNI TLS 拡張をサポートしていることを確認するには、ドライバーのドキュメントの互換性セクションを参照してください。ドライバーが MongoDB 4.2 以降と互換性がある場合、SNI TLS拡張がサポートされます。
IP アクセス リスト
クラスターにアクセスするには、Atlas プロジェクトの IP アクセス リストにある IP アドレスから接続する必要があります。IP アクセス リストに IP アドレスを追加する必要がある場合は、Connect ダイアログ ボックスで追加できます。[ネットワーク アクセス] タブから IP アドレスを追加することもできます。
データベースユーザー
クラスターにアクセスするには、Atlas クラスター上の目的のデータベースへのアクセス権を持つ データベース ユーザー を作成する必要があります。データベース ユーザーは Atlas ユーザーとは別です。データベース ユーザーは MongoDB データベースにアクセスでき、Atlas ユーザーは Atlas アプリケーション自体にアクセスできます。
Connect ダイアログ ボックスで、Atlas クラスターにアクセスするためのデータベースユーザーを作成できます。クラスター ビューからデータベースユーザーを追加することもできます。
アプリケーションの接続
AtlasGoClustersAtlas で、プロジェクトの ページにGoします。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
まだ表示されていない場合は、サイドバーの [Clusters] をクリックします。
[ Clusters (クラスター) ] ページが表示されます。
接続セキュリティを選択します。
Choose Connection Type (使用可能なボタンのセットから選択)。
注意
機能が有効な場合のオプション表示
Atlas は、ピアリングのプライベート IP、プライベートエンドポイント、またはその両方を有効にすると、接続タイプのオプションを表示します。どちらの機能も有効にしていない場合、ボタンは表示されず、接続タイプのデフォルトは標準になります。
許可されたパブリック IP アドレスにはこの接続タイプを使用します。
ピアリングを有効にした場合は、次の接続タイプを使用します。
Google Cloud Platform または Azure の場合、ピアリングされたネットワークからドライバーに接続している場合、または
AWS の場合、カスタム DNS サービスを使用するピアリングされたネットワークからドライバーに接続します。
これらのいずれも当てはまらない場合は、IP アドレスを IP アクセス リストに追加し、標準接続文字列を使用します。オフィスまたは自宅のネットワークから Atlas に直接接続する場合は、このオプションが望ましいでしょう。
注意
ピアリングが利用可能である必要があります
ピアの 1 つがAVAILABLE
としてマークされていない限り、このオプションを選択することはできません。同僚のステータスを確認するには:
Atlas で、プロジェクトの [Network Access] ページに移動します。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のNetwork Accessをクリックします。
[ネットワーク アクセス]ページが表示されます。
注意
マルチクラウドクラスター
アプリケーションがクラスターのプライマリと同じクラウドサービスプロバイダーでホストされていない場合、アプリケーションはセカンダリ読み取りのみを実行できます。
マルチクラウド クラスターの場合は、readPreference 接続オプションを接続文字列 に追加することを検討してください。次のいずれかの値を使用します。
プライベートエンドポイント接続を介してドライバーに接続する場合は、ドライバーが以下のいずれかの理由で適切なインターフェイスエンドポイントの接続文字列を使用してください。
クラウドプロバイダー ネットワーク内で実行されます、または
クラウドプロバイダー ネットワークへの推移的なネットワーク アクセスを持ちます。
最適化された接続文字列 を使用したいと考えています。
これらのいずれにも当てはまらない場合は、IP アドレスを IP アクセス リストに追加し、標準接続文字列を使用します。オフィスや自宅のネットワークから Atlas に直接接続する場合は、このオプションが望ましいでしょう。
注意
構成された PrivateLink 接続が使用可能状態になっていない限り、このオプションを選択することはできません。AWS PrivateLink のステータスを確認するには以下のようにします。
Atlas で、プロジェクトの [Network Access] ページに移動します。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のNetwork Accessをクリックします。
[ネットワーク アクセス]ページが表示されます。
クラスターへの接続を制限する方法を選択します。
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 クラスターを認証し、接続します。例にあるプレースホルダーを、認証情報と配置の詳細で置き換えます。
注意
Atlas M0
無料クラスターまたは M2/M5
共有クラスターに接続するには、MongoDB 4.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 5.0 およびそれ以降 | バージョン 1.11 以降 |
動作
注意
以下の構成オプションは、C ドライバーをシングルスレッド モードで実行する場合にのみ適用されます。
MongoDB ドライバーは、クラスターの選択またはフェイルオーバー イベントの後に自動的にサーバーの選択を試みます。デフォルトでは、C ドライバーは、サーバーを選択する最初の試行が失敗するとすぐにエラーを発生させます。以下の設定により、Atlas クラスタへのアプリケーションの接続性を向上させることができますが、サーバ選択ループに多くの時間を費やすことになります。
serverSelectionTryOnceを
false
に設定すると、C ドライバーはserverSelectionTimeoutMS
で定義された時間制限までサーバー選択を実行します。serverSelectionTimeoutMS をデフォルトの
30000
から15000
に下げます。MongoDB の選挙には通常 10 秒かかりますが、Atlas では 5 秒ほどで完了します。この値を 15 秒(15000
ミリ秒)に設定すると、選挙の上限とレイテンシの追加時間がカバーされます。
注意
Atlas M0
のフリークラスターまたは M2/M5
共有クラスターに接続するには、MongoDB 4.0をサポートする C++ ドライバー バージョンを使用する必要があります。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
ミリ秒)に設定すると、選挙の上限とレイテンシの追加時間がカバーされます。
注意
Atlas M0
のフリークラスターまたは M2/M5
共有クラスターに接続するには、MongoDB 4.0 以降をサポートする C#/.NET ドライバー バージョンを使用する必要があります。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 5.0 およびそれ以降 | バージョン 2.7 以降 |
注意
Microsoft .NET Core ライブラリ バージョン 2.1 以降では、Linux および macOS で SNI TLS 拡張機能がサポートされます。これらのプラットフォームで以前のバージョンの .NET Core を使用しているアプリケーションは、Atlas M0
フリークラスターまたは M2/M5
共有クラスターに接続できません。
この要件の詳細については、この dotnet/corefx の問題を参照してください。
注意
Atlas M0
のフリークラスターまたは M2/M5
共有クラスターに接続するには、MongoDB 4.0以降をサポートする Go ドライバー バージョンを使用する必要があります。Go ドライバーと MongoDB の互換性に関する完全なドキュメントについては、 MongoDB 互換性マトリックスを参照してください。最新バージョンのドライバーにアップグレードすることをお勧めします。
uri := "mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority" ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) defer cancel() client, err := mongo.Connect(ctx, options.Client().ApplyURI(uri)) if err != nil { panic(err) } defer func() { if err = client.Disconnect(ctx); err != nil { panic(err) } }() // Ping the primary if err := client.Ping(ctx, readpref.Primary()); err != nil { panic(err) }
MongoDB バージョン | 推奨ドライバーのバージョン |
---|---|
すべて | 最新の推奨ドライバー バージョンについては、MongoDB 互換性マトリックスを参照してください。 |
MongoDB 5.0 およびそれ以降 | バージョン 1.0.0以降 |
注意
Atlas M0
クラスターに接続するには、Java バージョン8以降を使用し、さらに MongoDB 4.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 5.0 およびそれ以降 | バージョン 3.8 以降 |
注意
Atlas M0
無料クラスターまたは M2/M5
共有クラスターに接続するには、MongoDB 4.0 以降をサポートする Kotlin ドライバー バージョンを使用する必要があります。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 5.0 およびそれ以降 | バージョン 4.10 以降 |
注意
Atlas M0
フリークラスターまたは M2/M5
共有クラスターに接続するには、MongoDB 4.0 以降をサポートする Node.js ドライバーバージョンを使用する必要があります。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 5.0 およびそれ以降 | バージョン 3.1 以降 |
注意
Atlas M0
無料クラスターまたは M2/M5
共有クラスターに接続するには、MongoDB 4.0 以降をサポートする Perl ドライバー バージョンを使用する必要があります。Perl ドライバーと MongoDB の互換性に関する完全なドキュメントについては、「MongoDB 互換性マトリックス」を参照してください。最新バージョンのドライバーにアップグレードすることをお勧めします。
my $client = MongoDB->connect('mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority'); my $db = $client->get_database( '<databaseName>' );
MongoDB バージョン | 推奨ドライバーのバージョン |
---|---|
MongoDB 4.2 | MongoDB は Perl ドライバーのサポートを終了しました。MongoDB 4.2 までをサポートするドライバー バージョン 2.2.2 は、https://metacpan.org/pod/MongoDB で入手できます。 |
動作
MongoDB ドライバーは、クラスターの選挙またはフェイルオーバー イベントの後に自動的にサーバーの選択を試行します。デフォルトでは、Perl ドライバーは、サーバーを選択する最初の試行が失敗するとすぐにエラーを発生させます。以下の構成設定により、Atlas クラスターに対するアプリケーションの接続性は向上するかもしれませんが、サーバーを選択するためのループにかかる時間は増加します。
serverSelectionTryOnce を
false
に設定すると、Perl ドライバーはserverSelectionTimeoutMS
で定義された時間制限までサーバー選択を実行します。serverSelectionTimeoutMS をデフォルトの
30000
から15000
に下げます。MongoDB の選挙には通常 10 秒かかりますが、Atlas では 5 秒ほどで完了します。この値を 15 秒(15000
ミリ秒)に設定すると、選挙の上限とレイテンシの追加時間がカバーされます。
注意
Atlas M0
無料クラスターまたは M2/M5
共有クラスターに接続するには、MongoDB 4.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 5.0 およびそれ以降 | PHPLIB 1.4 + mongodb-1.5. |
動作
MongoDB ドライバーは、クラスターの選挙またはフェイルオーバー イベントの後に自動的にサーバーの選択を試行します。デフォルトでは、サーバーを選択する最初の試行が失敗すると、ドライバーはすぐにエラーを発生させます。 以下の構成設定により、Atlas クラスターに対するアプリケーションの接続性は向上するかもしれませんが、サーバーを選択するためのループにかかる時間は増加します。
serverSelectionTryOnce を
false
に設定すると、ドライバーはserverSelectionTimeoutMS
で定義された時間制限までサーバー選択を実行します。serverSelectionTimeoutMS をデフォルトの
30000
から15000
に下げます。MongoDB の選挙には通常 10 秒かかりますが、Atlas では 5 秒ほどで完了します。この値を 15 秒(15000
ミリ秒)に設定すると、選挙の上限とレイテンシの追加時間がカバーされます。
注意
Atlas M0
クラスターに接続するには、Python 2.7.9以降を使用し、さらに MongoDB 4.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 5.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 )は影響を受けません。
注意
Atlas M0
無料クラスターまたは M2/M5
共有クラスターに接続するには、MongoDB 4.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 5.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 5.0 およびそれ以降 |
ドライバーが使用するデフォルトの非同期ランタイムは tokio
です。別のランタイムを使用するには、「非同期ランタイムの構成」を参照してください。
注意
Atlas M0
無料クラスターまたは M2/M5
共有クラスターに接続するには、MongoDB 4.0 以降をサポートする Rust ドライバー バージョンを使用する必要があります。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 の有効化を を参照してください。
注意
Atlas M0
無料クラスターまたは M2/M5
共有クラスターに接続するには、MongoDB 4.0 以降をサポートする Rust ドライバー バージョンを使用する必要があります。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 互換性マトリックスを参照してください。 |
注意
Atlas M0
無料クラスターまたは M2/M5
共有クラスターに接続するには、MongoDB 4.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 互換性マトリックスを参照してください。 |
注意
Atlas M0
無料クラスターまたは M2/M5
共有クラスターに接続するには、MongoDB 4.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 互換性マトリックスを参照してください。 |
注意
Atlas M0
無料クラスターまたは M2/M5
共有クラスターに接続するには、MongoDB 4.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 互換性マトリックスを参照してください。 |
トラブルシューティング
クラスターへの接続に問題がある場合は、「接続の問題のトラブルシューティング」を参照してください。