Docs Menu
Docs Home
/ / /
Go Driver

Go Driver クイック スタート

このガイドでは、MongoDB Go ドライバーを使用して MongoDB Atlas クラスターに接続するアプリケーションを作成する方法について説明します。別のドライバーまたはプログラミング言語を使用して MongoDB に接続する場合は、公式 MongoDB ドライバーのリストを参照してください。

Go ドライバーを使用すると、Go アプリケーションから MongoDB クラスターに接続して通信できます。

MongoDB Atlas は、MongoDB クラスターでデータをホストする完全管理クラウドデータベース サービスです。このガイドでは、独自の無料クラスター(クレジットカードは不要)を開始する方法を説明します。

Go アプリケーションを MongoDB Atlas クラスターに接続するには、以下の手順に従います。

1

次のコマンドに示すように、新しいディレクトリを作成し、go mod を使用してプロジェクトを初期化します。

mkdir go-quickstart
cd go-quickstart
go mod init go-quickstart
2

Go ドライバーを依存関係として追加するには、次のコマンドに示すように、go get を使用します。

go get go.mongodb.org/mongo-driver/v2/mongo

MongoDB Atlas に無料階層の MongoDB 配置を作成して、データを保存および管理することができます。MongoDB Atlas は、クラウドで MongoDB データベースをホストし、管理します。

1

Atlas スタートガイドを完了して、新しい Atlas アカウントを設定し、無料階層の MongoDB クラスターを作成し、データセットをロードして、データをやり取りします。

2

データベースユーザーを作成したら、そのユーザーのユーザー名とパスワードを安全な場所に保存して、後の手順で使用します。

これらの手順を完了すると、Atlas に新しい MongoDB クラスターが配置され、新しいデータベースユーザーが作成され、クラスターにサンプル データセットがロードされます

MongoDB配置に接続するには、 接続string とも呼ばれる 接続 URIMongoDB を提供します。これは、 配置に接続する方法と接続中の動作をドライバーに指示します。

接続stringには、配置のホスト名またはIPアドレスとポート、認証メカニズム、ユーザー認証情報(該当する場合)、および接続オプションが含まれます。

1

前のセクションで作成したクラスターの接続文字列を検索するには、Atlas アカウントにログインしてください。Database セクションに移動し、Clusters をクリックします。以下に示すように、接続したいクラスターの Connect ボタンをクリックます。

Atlas Connection GUI クラスター選択画面

次に、Connect to your application ヘッダーの下にある Drivers オプションを選択します。Driver 選択メニューから「Go」を選択し、Version 選択メニューからインストールしたバージョンに最も近いバージョンを選択します。

2

次のスクリーンショットのように、接続文字列の右にあるボタンをクリックしてクリップボードにコピーします。

Atlas Connection GUI 接続文字列画面
3

この接続stringをテキストエディタのファイルに貼り付け、<db_username><db_password> のプレースホルダーをデータベースユーザーのユーザー名とパスワードに置き換えます。

このファイルを安全な場所に保存して、次の手順で使用します。

これらの手順を完了すると、Atlas クラスターに対応する接続文字列が得られます。

Atlas を介して MongoDB Go ドライバーに接続する方法について詳しくは、Atlas ドライバー接続ガイドを参照し、Select your language ドロップダウンから「Go」を選択してください。

1

ターミナルで次のコマンドを実行し、MONGODB_URI という環境変数を作成して、Atlas 接続文字列をその値として設定します。

export MONGODB_URI='<your atlas connection string>'

注意

接続文字列の <db_password> セクションを、atlasAdmin 権限を持つユーザー用に作成したパスワードに置き換えてください。

2

プロジェクトのベース ディレクトリから次のコマンドを実行して、main.go という新しいファイルを作成します。

touch main.go
3

以下のコードをコピーして、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)
}
4

コマンドラインから次のコマンドを使用してサンプル コードを実行します。

go run main.go

main.go を実行すると、サンプル データセットから次のような映画の詳細が出力されます。

{
"_id": "573a1398f29313caabce9682",
...
"title": "Back to the Future",
...
}

Tip

出力がまったくないかエラーが表示される場合は、環境変数が正しく設定されているかどうか、およびクラスターにサンプル データセットがロードされていることを確認してください。

これらの手順を完了すると、MongoDB Go ドライバーを使用して MongoDB クラスターに接続し、サンプル データに対してクエリを実行し、結果を出力するアプリケーションが作成されます。

CRUD 操作セクションでは、MongoDB Go ドライバーを使用してデータを読み取って変更する方法、または使用例では、一般的な操作を実行する方法を学習します。

戻る

MongoDB Go ドライバー