Go Driver クイック スタート
このガイドでは、MongoDB Go ドライバーを使用して MongoDB Atlas クラスターに接続するアプリケーションを作成する方法について説明します。別のドライバーまたはプログラミング言語を使用して MongoDB に接続する場合は、公式 MongoDB ドライバーのリストを参照してください。
Go ドライバーを使用すると、Go アプリケーションから MongoDB クラスターに接続して通信できます。
MongoDB Atlas は、MongoDB クラスターでデータをホストする完全管理クラウドデータベース サービスです。このガイドでは、独自の無料クラスター(クレジットカードは不要)を開始する方法を説明します。
Go アプリケーションを MongoDB Atlas クラスターに接続するには、以下の手順に従います。
プロジェクトを設定する
MongoDB クラスターを作成する
Atlasで無料階層クラスターをセットアップする
MongoDB Atlas に無料階層の MongoDB 配置を作成して、データを保存および管理することができます。MongoDB Atlas は、クラウドで MongoDB データベースをホストし、管理します。
無料階層クラスターを作成する
Atlas スタートガイドを完了して、新しい Atlas アカウントを設定し、無料階層の MongoDB クラスターを作成し、データセットをロードして、データをやり取りします。
これらの手順を完了すると、Atlas に新しい MongoDB クラスターが配置され、新しいデータベースユーザーが作成され、クラスターにサンプル データセットがロードされます。
クラスターへの接続
MongoDB配置に接続するには、 接続string とも呼ばれる 接続 URIMongoDB を提供します。これは、 配置に接続する方法と接続中の動作をドライバーに指示します。
接続stringには、配置のホスト名またはIPアドレスとポート、認証メカニズム、ユーザー認証情報(該当する場合)、および接続オプションが含まれます。
これらの手順を完了すると、Atlas クラスターに対応する接続文字列が得られます。
Atlas を介して MongoDB Go ドライバーに接続する方法について詳しくは、Atlas ドライバー接続ガイドを参照し、Select your language ドロップダウンから「Go」を選択してください。
アプリケーションから MongoDB クラスターをクエリする
Go アプリケーションを作成する
以下のコードをコピーして、main.go
ファイルに貼り付けます。このコードは、MongoDB Atlas のサンプル データセットに対してクエリを実行します。
package main import ( "context" "encoding/json" "fmt" "log" "os" "go.mongodb.org/mongo-driver/v2/bson" "go.mongodb.org/mongo-driver/v2/mongo" "go.mongodb.org/mongo-driver/v2/mongo/options" ) func main() { uri := os.Getenv("MONGODB_URI") docs := "www.mongodb.com/ja-jp/docs/drivers/go/current/" if uri == "" { log.Fatal("Set your 'MONGODB_URI' environment variable. " + "See: " + docs + "usage-examples/#environment-variable") } client, err := mongo.Connect(options.Client(). ApplyURI(uri)) if err != nil { panic(err) } defer func() { if err := client.Disconnect(context.TODO()); err != nil { panic(err) } }() coll := client.Database("sample_mflix").Collection("movies") title := "Back to the Future" var result bson.M err = coll.FindOne(context.TODO(), bson.D{{"title", title}}). Decode(&result) if err == mongo.ErrNoDocuments { fmt.Printf("No document was found with the title %s\n", title) return } if err != nil { panic(err) } jsonData, err := json.MarshalIndent(result, "", " ") if err != nil { panic(err) } fmt.Printf("%s\n", jsonData) }
アプリケーションを実行する
コマンドラインから次のコマンドを使用してサンプル コードを実行します。
go run main.go
main.go
を実行すると、サンプル データセットから次のような映画の詳細が出力されます。
{ "_id": "573a1398f29313caabce9682", ... "title": "Back to the Future", ... }
Tip
出力がまったくないかエラーが表示される場合は、環境変数が正しく設定されているかどうか、およびクラスターにサンプル データセットがロードされていることを確認してください。
これらの手順を完了すると、MongoDB Go ドライバーを使用して MongoDB クラスターに接続し、サンプル データに対してクエリを実行し、結果を出力するアプリケーションが作成されます。
次のステップ
CRUD 操作セクションでは、MongoDB Go ドライバーを使用してデータを読み取って変更する方法、または使用例では、一般的な操作を実行する方法を学習します。