クラスターへの接続
推定所要時間: 5 分
クラスターにはさまざまな方法で接続できます。このチュートリアルでは、次のいずれかの方法を使用します。
MongoDB に対する対話型コマンドラインインターフェイスである MongoDB Shell 。
mongosh
を使用して、Atlas クラスターにデータを挿入したり操作したりできます。MongoDB Compass は、MongoDB データ用の GUI です。Compass を使用して、データを探索、変更、視覚化できます。
MongoDB databaseとプログラムで通信するための MongoDB ドライバー。サポートされているすべての言語を確認するには、MongoDB ドライバーのドキュメントを参照してください。
➤ [言語の選択]ドロップダウン メニューを使用して、mongosh
や Compass など、このチュートリアルの接続方法を設定します。
注意
Atlas の使用を開始するためにデフォルトのオプションでatlas setup
またはatlas quickstart
コマンドを使用している場合、Atlas CLI はクラスターに接続するためのmongosh
コマンドを提供します。
必要なアクセス権
クラスターに接続するには、データベースユーザーである必要があります。
前提条件
始める前に、以下のものを保持していることを確認します。
注意
配置にアクセスするには、クラスター上にデータベースユーザーを設定する必要があります。セキュリティ上の理由から、Atlas では、クラスターにアクセスするためにクライアントがデータベースユーザーとして認証される必要があります。
ターミナル
mongosh
をダウンロードしてインストールするには以下を行います。
Atlas Atlasで、プロジェクトの {0 ページにGoします。GoClusters
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
まだ表示されていない場合は、サイドバーの [Clusters] をクリックします。
[ Clusters (クラスター) ] ページが表示されます。
MongoDB Shell をダウンロードします。
WindowsまたはLinuxを使用している場合は、次のいずれかのオプションを使用してダウンロードします。
[ Download mongosh ] をクリックしてダウンロードを開始します。
[Copy download URL] をクリックしてダウンロード URL をクリップボードにコピーし、次のいずれかを実行します。
インストーラー ファイルを取得するには
curl
を使います。ブラウザ ウィンドウに URL を貼り付けます。
MongoDB Shell ページからインストーラーをダウンロードします。
macOSを使用している場合は、提供されている Homebrew コマンドを使用して shell をダウンロードできます。
MongoDB Shell をインストールします。
オペレーティングシステムに基づいて適切なタブを選択します。
次のいずれかのオプションを使用してダウンロードします。
[ Download mongosh ] をクリックしてダウンロードを開始します。
[Copy download URL] をクリックしてダウンロード URL をクリップボードにコピーし、次のいずれかを実行します。
curl
を使用して URL からインストーラファイルを取得するか、ブラウザ ウィンドウに URL を貼り付けます。
MongoDB Shell ページからインストーラーをダウンロードします。
ダウンロードしたアーカイブからファイルを抽出します。
mongosh
バイナリをPATH
環境変数に追加します。抽出された MongoDB Shell バイナリがファイルシステム内の目的の場所にあることを確認し、その場所を
PATH
環境変数に追加します。Control Panelを開きます。
System and Security カテゴリで、[System] をクリックします。
[ Advanced system settingsをクリックします。 [ System Propertiesモーダルが表示されます。
[Environment Variables] をクリックします。
[Path ] を選択し、[Edit] をクリックします。
Newをクリックして、
mongosh
バイナリにファイルパスを追加します。
提供されている Homebrew コマンドを使用します。
Atlas UI ウィンドウから Homebrew コマンドをコピーし、ターミナルで実行します。
次のいずれかのオプションを使用してインストーラーをダウンロードします。
[ Download mongosh ] をクリックしてダウンロードを開始します。
[Copy download URL] をクリックしてダウンロード URL をクリップボードにコピーし、次のいずれかを実行します。
curl
を使用して URL からインストーラファイルを取得するか、ブラウザ ウィンドウに URL を貼り付けます。
MongoDB Shell ページからインストーラーをダウンロードします。
注意
ダウンロードするファイルの種類は、選択したオペレーティング システムによって異なります。次のバージョンを選択した場合:
Ubuntu または Debian では、
.deb
パッケージを受け取ります。RHEL、Amazon Linux、または SUSE の場合、
.rpm
パッケージを受け取ります。
ご使用のオペレーティング システムがリストにない場合は、
mongosh
ドキュメントの「.tgz インストール手順」を参照してください。mongosh
パッケージをインストールします。dpkg
を使用してmongosh
をインストールします。sudo dpkg -i mongodb-mongosh_<mongosh-version-and-platform>.deb rpm
を使用してmongosh
をインストールします。sudo rpm -i mongodb-mongosh_<mongosh-version-and-platform>.rpm
これで、ターミナルを使用してmongosh
を実行できるはずです。
MongoDB Shell のインストールをテストします。
システム パスにmongosh
が正しく追加されたかどうかを確認するには、ターミナルで次のコマンドを実行します。
mongosh --version
次のような出力が表示されます。
0.14.0
MongoDB Compass をダウンロードしてインストールするには、以下を行います。
AtlasGoClustersAtlas で、プロジェクトの ページにGoします。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
まだ表示されていない場合は、サイドバーの [Clusters] をクリックします。
[ Clusters (クラスター) ] ページが表示されます。
[Compass] をクリックします。
接続モーダルから、 Compassをクリックします。
[I do not have MongoDB Compass] をクリックします。ドロップダウンからオペレーティングシステムを選択します。
ターミナル。
テキストエディタ。
C# プロジェクト。プロジェクトを初期化するには、プロジェクト ディレクトリで
dotnet new console
コマンドを実行します。詳細については、 「C# クイック スタート」を参照してください。
ターミナル。
テキストエディタ。
Go プロジェクト。プロジェクトを初期化するには、
go mod
コマンドを使用します。詳細については、 「Go クイック スタート」を参照してください。
Java 開発キット(JDK) バージョン8 以降。
Maven を使用してインストールされたドライバー依存関係または Gradle 。IntelliJ IDEA などの統合開発環境(IDE)の使用をお勧めします。またはEclipse IDE 依存関係を設定します。
プロジェクトをビルドして実行するように Maven または Gradle を構成するには、 「依存関係として MongoDB を追加する」を参照してください。
ターミナル。
テキストエディタ。
Python。ご使用のオペレーティング システム用の最新バージョンの Python をダウンロードするには、 Python ダウンロード ページを参照してください。
ピップ パッケージ インストーラー。Python 2.7.9および Python 3.4、https://python.org からダウンロードしたパッケージ
pip
を含みます。pip
手動でインストールするには、 pipインストールページ を参照してください。このパッケージには Python が含まれています。
PyMongo と呼ばれる Python ドライバーをインストールするには次のようにします。
PyMongo ドライバーをインストールします。
ターミナルで次のコマンドを実行します。
python -m pip install "pymongo[snappy,gssapi,srv,tls]"
このコマンドは、PyMongo ドライバーとドライバーのいくつかの依存関係をインストールします。詳細については GitHub の Python ドライバーのインストール ページ を参照してください。
Atlas クラスターへの接続
このセクションでは、Atlas からクラスターの接続文字列を取得し、任意の接続方法を使用してクラスターに接続します。
サポートされているすべての方法については、「クラウドクラスターへの接続」を参照してください。その他のドライバーの例については、 「ドライバー経由で接続」を参照してください。
AtlasGoClustersAtlas で、プロジェクトの ページにGoします。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
まだ表示されていない場合は、サイドバーの [Clusters] をクリックします。
[ Clusters (クラスター) ] ページが表示されます。
[Shell] をクリックします。
接続モーダルから、 Shellをクリックします。
[I have the MongoDB Shell installed] をクリックし、ドロップダウンから mongosh
バージョンを選択します。
入力を求められたら、データベースユーザーのパスワードを入力します。Atlas でデータベースユーザーを作成したときに指定したパスワードを入力するよう求められます。
これで、 mongosh
内の Atlas クラスターに接続されるはずです。ターミナルには、次のようなものが表示されます。
MongoDB Enterprise GettingStarted-shard-0:PRIMARY>
重要
接続のトラブルシューティング
クラスタへの接続に問題がある場合は、 IP アドレスが IP アクセスリストに追加されていること、および正しいデータベースユーザー認証情報を指定していることを再確認してください。データベースユーザーの認証情報を忘れた場合でも、いつでも新しいデータベースユーザーを作成できます。
AtlasGoClustersAtlas で、プロジェクトの ページにGoします。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
まだ表示されていない場合は、サイドバーの [Clusters] をクリックします。
[ Clusters (クラスター) ] ページが表示されます。
MongoDB Compass を開き、Atlas に接続します。
配置で単一のクラウドプロバイダーを使用している場合、または SSL、認証証明書、または SSH トンネルのいずれも使用していない場合は、コピーした接続文字列を使用して MongoDB Compass に接続します。
New Connection をクリックし、接続文字列を Paste your connection string フィールドに貼り付けます。
(任意)後で使用するために接続を保存するには、 Create Favorite をクリックして、接続の名前を追加します。保存したお気に入りの接続は、MongoDB Compass Connect ウィンドウの左のペインの Favorites の下にあります。
[Connect] をクリックします。
配置が複数のクラウドプロバイダーにまたがっている場合、または SSL、認証証明書、SSH トンネルのいずれかを使用している場合は、接続フィールドを個別に入力します。
[Fill in Connection Fields Individually] をクリックします。
hostname タブで、ホスト名とポートを入力し、ドロップダウンから認証メカニズムを選択します。
More optionsタブで以下を設定します。
配置で SSL または SSH トンネルを使用する場合は、SSL または SSH トンネル オプションを指定します。
配置が複数のクラウドプロバイダーにまたがる場合は、読み込み設定 (read preference) オプションを指定します。
配置で X.509 証明書を使用する場合は、自己管理型の X.509 証明書または Atlas によって管理される自動生成型 X.509 証明書を使用します。
詳細については、MongoDB Compass ドキュメントの「MongoDB への接続」を参照してください。
(任意)後で使用するために接続を保存するには、 Create Favorite をクリックして、接続の名前を追加します。保存したお気に入りの接続は、MongoDB Compass Connect ウィンドウの左のペインの Favorites の下にあります。
[Connect] をクリックします。
AtlasGoClustersAtlas で、プロジェクトの ページにGoします。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
まだ表示されていない場合は、サイドバーの [Clusters] をクリックします。
[ Clusters (クラスター) ] ページが表示されます。
[Drivers] をクリックします。
接続モーダルから、 Driversをクリックします。
指定された接続文字列を設定します。
<password>
を、データベースユーザーの作成時に指定したパスワードに置き換えます。
注意
パスワード、データベース、または接続文字列に予約済みの URI 文字が含まれている場合は、それらの文字をエスケープする必要があります。たとえば、パスワードが @bc123
の場合、接続文字列でパスワードを指定するときは、%40bc123
などに指定して、@
の文字をエスケープする必要があります。詳細については、「接続文字列パスワードの特殊文字」を参照してください。
サンプル アプリケーションに接続します。
次のサンプル アプリケーションは、文字列を使用して Atlas クラスターに接続し、接続が成功したことを確認するために ping を送信します。サンプルアプリケーションをテストするには以下を行います。
connect
という新しいディレクトリを作成し、dotnet new
コマンドを使用してプロジェクトを初期化します。mkdir connect cd connect dotnet new console 次のコマンドを実行して、.NET/C# ドライバーを依存関係としてプロジェクトに追加します。
dotnet add package MongoDB.Driver Program.cs
ファイルの内容を、次のコードで置き換えます。次のように、プレースホルダーを更新した接続文字列に置き換えてください。1 using MongoDB.Bson; 2 using MongoDB.Driver; 3 4 public class Connect 5 { 6 // Replace the following with your Atlas connection string 7 private const string MongoConnectionString = "mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority"; 8 9 public static void Main(string[] args) 10 { 11 // Connect to your Atlas cluster 12 var client = new MongoClient(MongoConnectionString); 13 14 // Send a ping to confirm a successful connection 15 try { 16 var result = client.GetDatabase("admin").RunCommand<BsonDocument>(new BsonDocument("ping", 1)); 17 Console.WriteLine("Successfully connected to Atlas"); 18 } 19 catch (Exception e) { Console.WriteLine(e);} 20 } 21 } アプリケーションを実行するには、次のコマンドを使用します。
dotnet run Program.cs Successfully connected to Atlas
AtlasGoClustersAtlas で、プロジェクトの ページにGoします。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
まだ表示されていない場合は、サイドバーの [Clusters] をクリックします。
[ Clusters (クラスター) ] ページが表示されます。
[Drivers] をクリックします。
接続モーダルから、 Driversをクリックします。
指定された接続文字列を設定します。
<password>
を、データベースユーザーの作成時に指定したパスワードに置き換えます。
注意
パスワード、データベース、または接続文字列に予約済みの URI 文字が含まれている場合は、それらの文字をエスケープする必要があります。たとえば、パスワードが @bc123
の場合、接続文字列でパスワードを指定するときは、%40bc123
などに指定して、@
の文字をエスケープする必要があります。詳細については、「接続文字列パスワードの特殊文字」を参照してください。
サンプル アプリケーションに接続します。
次のサンプル アプリケーションは、文字列を使用して Atlas クラスターに接続し、接続が成功したことを確認するために ping を送信します。サンプルアプリケーションをテストするには以下を行います。
connect
という新しいディレクトリを作成し、go mod
コマンドを使用してプロジェクトを初期化します。mkdir connect cd connect go mod init connect Go ドライバーとドライバーの依存関係をダウンロードするには、次のコマンドを実行します。
go get go.mongodb.org/mongo-driver/mongo go get github.com/joho/godotenv プロジェクトで、
connect.go
という新しいファイルを作成し、次のコードを貼り付けます。プレースホルダーを更新した接続文字列に置き換えてください。1 package main 2 3 import ( 4 "context" 5 "fmt" 6 7 "go.mongodb.org/mongo-driver/bson" 8 "go.mongodb.org/mongo-driver/mongo" 9 "go.mongodb.org/mongo-driver/mongo/options" 10 ) 11 12 func main() { 13 14 // Replace the following with your Atlas connection string 15 uri := "mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority" 16 17 // Connect to your Atlas cluster 18 client, err := mongo.Connect(context.TODO(), options.Client().ApplyURI(uri)) 19 if err != nil { 20 panic(err) 21 } 22 defer client.Disconnect(context.TODO()) 23 24 // Send a ping to confirm a successful connection 25 var result bson.M 26 if err := client.Database("admin").RunCommand(context.TODO(), bson.D{{"ping", 1}}).Decode(&result); err != nil { 27 panic(err) 28 } 29 fmt.Println("Successfully connected to Atlas") 30 } アプリケーションを実行するには、次のコマンドを使用します。
go run connect.go Successfully connected to Atlas
AtlasGoClustersAtlas で、プロジェクトの ページにGoします。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
まだ表示されていない場合は、サイドバーの [Clusters] をクリックします。
[ Clusters (クラスター) ] ページが表示されます。
[Drivers] をクリックします。
接続モーダルから、 Driversをクリックします。
指定された接続文字列を設定します。
<password>
を、データベースユーザーの作成時に指定したパスワードに置き換えます。
注意
パスワード、データベース、または接続文字列に予約済みの URI 文字が含まれている場合は、それらの文字をエスケープする必要があります。たとえば、パスワードが @bc123
の場合、接続文字列でパスワードを指定するときは、%40bc123
などに指定して、@
の文字をエスケープする必要があります。詳細については、「接続文字列パスワードの特殊文字」を参照してください。
サンプル アプリケーションに接続します。
次のサンプル アプリケーションは、接続文字列を使用して Atlas クラスターに接続し、接続が成功したことを確認するために ping を送信します。サンプル アプリケーションをテストするには、次のコードを Connect.java
というファイルにコピーします。
プレースホルダを更新した接続文字列で置き換えてください。
1 import com.mongodb.*; 2 import org.bson.BsonDocument; 3 import org.bson.BsonInt64; 4 import org.bson.Document; 5 import org.bson.conversions.Bson; 6 7 import com.mongodb.client.MongoClient; 8 import com.mongodb.client.MongoClients; 9 import com.mongodb.client.MongoDatabase; 10 11 public class Connect { 12 public static void main(String[] args) { 13 // Replace the placeholder with your Atlas connection string 14 String uri = "mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority"; 15 16 // Construct a ServerApi instance using the ServerApi.builder() method 17 ServerApi serverApi = ServerApi.builder() 18 .version(ServerApiVersion.V1) 19 .build(); 20 21 MongoClientSettings settings = MongoClientSettings.builder() 22 .applyConnectionString(new ConnectionString(uri)) 23 .serverApi(serverApi) 24 .build(); 25 26 // Create a new client and connect to the server 27 try (MongoClient mongoClient = MongoClients.create(settings)) { 28 MongoDatabase database = mongoClient.getDatabase("admin"); 29 try { 30 // Send a ping to confirm a successful connection 31 Bson command = new BsonDocument("ping", new BsonInt64(1)); 32 Document commandResult = database.runCommand(command); 33 System.out.println("Successfully connected to Atlas"); 34 } catch (MongoException e) { 35 System.err.println(e); 36 } 37 } 38 } 39 }
IDE または次のコマンドを使用して、 Connect.java
ファイルをコンパイルして実行します。
javac Connect.java java Connect
Successfully connected to Atlas
AtlasGoClustersAtlas で、プロジェクトの ページにGoします。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
まだ表示されていない場合は、サイドバーの [Clusters] をクリックします。
[ Clusters (クラスター) ] ページが表示されます。
[Drivers] をクリックします。
接続モーダルから、 Driversをクリックします。
指定された接続文字列を設定します。
<password>
を、データベースユーザーの作成時に指定したパスワードに置き換えます。
注意
パスワード、データベース、または接続文字列に予約済みの URI 文字が含まれている場合は、それらの文字をエスケープする必要があります。たとえば、パスワードが @bc123
の場合、接続文字列でパスワードを指定するときは、%40bc123
などに指定して、@
の文字をエスケープする必要があります。詳細については、「接続文字列パスワードの特殊文字」を参照してください。
サンプル アプリケーションに接続します。
次のサンプルアプリケーションは、文字列を使用して Atlas クラスターに接続し、確認メッセージを返します。サンプル アプリケーションをテストするには、次のコードをconnect.js
というファイルにコピーします。
プレースホルダを更新した接続文字列で置き換えてください。
1 const { MongoClient } = require("mongodb"); 2 3 // Replace the following with your Atlas connection string 4 const url = "mongodb+srv://<db_username>:<db_password>@<clusterName>.mongodb.net/?retryWrites=true&w=majority"; 5 6 // Connect to your Atlas cluster 7 const client = new MongoClient(url); 8 9 async function run() { 10 try { 11 await client.connect(); 12 console.log("Successfully connected to Atlas"); 13 14 } catch (err) { 15 console.log(err.stack); 16 } 17 finally { 18 await client.close(); 19 } 20 } 21 22 run().catch(console.dir);
サンプル アプリケーションを実行するには、次のコマンドを使用します。
node connect.js
Successfully connected to Atlas
AtlasGoClustersAtlas で、プロジェクトの ページにGoします。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
まだ表示されていない場合は、サイドバーの [Clusters] をクリックします。
[ Clusters (クラスター) ] ページが表示されます。
[Drivers] をクリックします。
接続モーダルから、 Driversをクリックします。
指定された接続文字列を設定します。
<password>
を、データベースユーザーの作成時に指定したパスワードに置き換えます。
注意
パスワード、データベース、または接続文字列に予約済みの URI 文字が含まれている場合は、それらの文字をエスケープする必要があります。たとえば、パスワードが @bc123
の場合、接続文字列でパスワードを指定するときは、%40bc123
などに指定して、@
の文字をエスケープする必要があります。詳細については、「接続文字列パスワードの特殊文字」を参照してください。
次のステップ
クラスターに接続したら、「クラスターでのデータの挿入と表示」に進みます。