Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ / /
Go Driver

Goの利用開始

このガイドでは、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

前のセクションで作成したクラスターの接続文字列を取得するには、次の手順を実行します。

  1. Atlas アカウントにログインします。

  2. サイドバーの Database セクションに移動し、Clusters を選択します。

  3. 接続するクラスターを見つけ、Connect ボタンをクリックします。

  4. の下で、Drivers オプションをクリックします。

  5. Driver 選択メニューから [Go] を選択し、Version 選択メニューから適切なバージョンを選択します。

  6. 接続文字列クリップボードをコピーします。

2

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

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

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

MongoDB Goドライバーを使用して接続オプションを適用して Atlas に接続する方法の詳細については、Atlas ドライバー接続ガイド を参照してください。

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 クラスターに接続し、サンプル データに対してクエリを実行し、結果を出力するアプリケーションが作成されます。

MongoDB Goドライバーを使用してデータを読み取って変更する方法については、「CRUD操作」セクションをご覧ください。また、一般的な操作を実行する方法については、「golang の使用例」を参照してください。

戻る

Overview

項目一覧