Docs Menu
Docs Home
/
MongoDB Atlas
/ /

ドライバー経由で接続

項目一覧

  • 前提条件
  • アプリケーションの接続
  • ドライバーの例
  • トラブルシューティング

クラスターの 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 つを使用する必要があります。

ドライバー
バージョン
1.19.0
3.7.0beta1
2.13.0
1.6.0
4.3.0
4.10.0
2.5.0
4.1.0
1.11.0 (Extension)
1.10.0 (Library)
3.12.0
2.16.0
2.1.0
4.3.0
1.2.0

Atlas クラスターに接続するには、クライアントが TLS をサポートしている必要があります。

クライアントは SNI をサポートしている必要がありますM0 M2/M5Atlas 無料クラスターまたは 共有クラスターに接続するための TLS 拡張機能。MongoDB ドライバーSNI TLS拡張機能をサポートしていることを確認するには、ドライバーのドキュメントの「 互換性 」セクションを参照してください。 ドライバーが MongoDB 4と互換性がある場合。 2以降では、 SNI TLS拡張をサポートしています。

クラスターにアクセスするには、Atlas プロジェクトの IP アクセス リストにある IP アドレスから接続する必要があります。IP アクセス リストに IP アドレスを追加する必要がある場合は、Connect ダイアログ ボックスで追加できます。[ネットワーク アクセス] タブから IP アドレスを追加することもできます。

クラスターにアクセスするには、Atlas クラスター上の目的のデータベースへのアクセス権を持つ データベース ユーザー を作成する必要があります。データベース ユーザーは Atlas ユーザーとは別です。データベース ユーザーは MongoDB データベースにアクセスでき、Atlas ユーザーは Atlas アプリケーション自体にアクセスできます。

Connect ダイアログ ボックスで、Atlas クラスターにアクセスするためのデータベースユーザーを作成できます。クラスター ビューからデータベースユーザーを追加することもできます。

1
  1. まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー

  2. まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。

  3. Clusters ページがまだ表示されていない場合は、サイドバーの Database をクリックします。

    [ Clusters (クラスター) ] ページが表示されます。

2

接続するクラスターの Connect をクリックします。

3

Choose Connection Type (使用可能なボタンのセットから選択)。

注意

機能が有効な場合のオプション表示

Atlas は、ピアリングのプライベート IPプライベートエンドポイント、またはその両方を有効にすると、接続タイプのオプションを表示します。どちらの機能も有効にしていない場合、ボタンは表示されず、接続タイプのデフォルトは標準になります。

許可されたパブリック IP アドレスにはこの接続タイプを使用します。

ピアリングを有効にした場合は、次の接続タイプを使用します。

  • Google Cloud Platform または Azure の場合、ピアリングされたネットワークからドライバーに接続している場合、または

  • AWS の場合、カスタム DNS サービスを使用するピアリングされたネットワークからドライバーに接続します。

これらのいずれも当てはまらない場合は、IP アドレスを IP アクセス リストに追加し、標準接続文字列を使用します。オフィスまたは自宅のネットワークから Atlas に直接接続する場合は、このオプションが望ましいでしょう。

注意

ピアリングが利用可能である必要があります

ピアの 1 つがAVAILABLEとしてマークされていない限り、このオプションを選択することはできません。同僚のステータスを確認するには:

Atlas で、プロジェクトの [Network Access] ページに移動します。

  1. まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。

  2. まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。

  3. サイドバーで、 Security見出しの下のNetwork Accessをクリックします。

    [ネットワーク アクセス]ページが表示されます。

注意

マルチクラウドクラスター

アプリケーションがクラスターのプライマリと同じクラウドサービスプロバイダーでホストされていない場合、アプリケーションはセカンダリ読み取りのみを実行できます。

マルチクラウド クラスターの場合は、readPreference 接続オプションを接続文字列 に追加することを検討してください。次のいずれかの値を使用します。

プライベートエンドポイント接続を介してドライバーに接続する場合は、ドライバーが以下のいずれかの理由で適切なインターフェイスエンドポイントの接続文字列を使用してください。

  • クラウドプロバイダー ネットワーク内で実行されます、または

  • クラウドプロバイダー ネットワークへの推移的なネットワーク アクセスを持ちます。

  • 最適化された接続文字列 を使用したいと考えています。

これらのいずれにも当てはまらない場合は、IP アドレスを IP アクセス リストに追加し、標準接続文字列を使用します。オフィスや自宅のネットワークから Atlas に直接接続する場合は、このオプションが望ましいでしょう。

注意

構成された PrivateLink 接続が使用可能状態になっていない限り、このオプションを選択することはできません。AWS PrivateLink のステータスを確認するには以下のようにします。

Atlas で、プロジェクトの [Network Access] ページに移動します。

  1. まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。

  2. まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。

  3. サイドバーで、 Security見出しの下のNetwork Accessをクリックします。

    [ネットワーク アクセス]ページが表示されます。

4

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 アクセス リストに追加します。

  1. Choose Connection TypePrivate Endpoint を選択します。

  2. Private Link Typeオプションが表示された場合は、次のいずれかのオプションを選択します。

    • Optimized SRV Connection 負荷分散された接続用。

    • Legacy SRV Connection 負荷分散されていない接続の場合。

    詳細については、「プライベートエンドポイントの背後にあるシャーディングされたクラスターの接続パフォーマンスの向上」を参照してください。

  3. [ Choose Private Endpoint] で、使用するエンドポイントを選択します。

5

重要

Atlas がSetup connection security の手順でプロジェクトに少なくとも 1 人のデータベースユーザーが設定されていることを示している場合は、この手順をスキップします。既存のデータベースユーザーを管理するには、「データベースユーザーの構成」を参照してください。

クラスターにアクセスするには、プロジェクト内の目的のデータベースまたはクラスター上のデータベースにアクセスできる MongoDB ユーザーが必要です。プロジェクトに MongoDB ユーザーがいない場合、Atlas は Atlas 管理者ロールを持つ新しいユーザーを作成するように要求します。

  1. 新しいユーザーの Username を入力します。

  2. この新しいユーザーの Password を入力するか、Autogenerate Secure Password をクリックします。

  3. Create Database User をクリックしてユーザーを保存します。

次のステップでは、このユーザーを使用してクラスターに接続します。

IP アクセス リストに IP アドレスを追加し、データベースユーザーを追加したら、Choose Your Connection Method をクリックします。

6

Choose a connection method の手順で、Drivers を選択します。

7

ドロップダウン メニューからドライバーとバージョンを選択します。接続文字列を含むコード サンプルが表示されます。<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 クラスタへのアプリケーションの接続性を向上させることができますが、サーバ選択ループに多くの時間を費やすことになります。

  • serverSelectionTryOncefalseに設定すると、C ドライバーはserverSelectionTimeoutMSで定義された時間制限までサーバー選択を実行します。

  • serverSelectionTimeoutMS をデフォルトの 30000 から 15000 に下げます。MongoDB の選挙には通常 10 秒かかりますが、Atlas では 5 秒ほどで完了します。この値を 15 秒(15000 ミリ秒)に設定すると、選挙の上限とレイテンシの追加時間がカバーされます。

注意

Atlas M0 のフリークラスターまたは M2/M5 共有クラスターに接続するには、MongoDB 4.0をサポートする C++ ドライバー バージョンを使用する必要があります。C++ ドライバーと MongoDB の互換性に関する完全なドキュメントについては、 MongoDB 互換性マトリックスを参照してください。最新バージョンのドライバーにアップグレードすることをお勧めします。

#include <mongocxx/client.hpp>
#include <mongocxx/instance.hpp>
//...
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 クラスターに対するアプリケーションの接続性は向上するかもしれませんが、サーバーを選択するためのループにかかる時間は増加します。

  • serverSelectionTryOncefalse に設定すると、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 クラスターに対するアプリケーションの接続性は向上するかもしれませんが、サーバーを選択するためのループにかかる時間は増加します。

  • serverSelectionTryOncefalse に設定すると、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 クラスターに対するアプリケーションの接続性は向上するかもしれませんが、サーバーを選択するためのループにかかる時間は増加します。

  • serverSelectionTryOncefalse に設定すると、ドライバーは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 以降
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};
#[tokio::main]
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 互換性マトリックスを参照してください。

クラスターへの接続に問題がある場合は、「接続の問題のトラブルシューティング」を参照してください。

Tip

以下も参照してください。

戻る

接続方法