ホームページ >バックエンド開発 >Golang >Go で MongoDB を使用する: 完全ガイド

Go で MongoDB を使用する: 完全ガイド

王林
王林オリジナル
2023-06-17 18:14:544462ブラウズ

MongoDB は、Web アプリケーション、ビッグ データ、クラウド コンピューティングで広く使用されている、高性能のオープンソースのドキュメント ベースの NoSQL データベースです。 Go言語は高速で開発効率が高く、コードの保守性が高いプログラミング言語です。この記事では、Go 言語で MongoDB を使用する方法を完全に紹介します。

1. MongoDB のインストール

MongoDB を使用する前に、システムに MongoDB をインストールする必要があります。 Linux システムでは、次のコマンドを使用してインストールできます。

sudo apt-get update
sudo apt-get install mongodb
sudo systemctl start mongodb

Windows システムでは、MongoDB 公式 Web サイトにアクセスして、対応するバージョンのインストール パッケージをダウンロードし、プロンプトに従ってインストールできます。

2. MongoDB への接続

Go 言語で MongoDB を使用するには、サードパーティ パッケージ mgo をインストールする必要があります。次のコマンドでインストールできます:

go get gopkg.in/mgo.v2

次に、MongoDB に接続するための次のコードを記述します:

package main

import (
    "fmt"
    "gopkg.in/mgo.v2"
)

func main() {
    session, err := mgo.Dial("localhost:27017")
    if err != nil {
        panic(err)
    }
    defer session.Close()

    collection := session.DB("test").C("users")
    fmt.Println(collection)
}

このコードは、MongoDB のテスト データベースに接続し、ユーザーを返します。コレクション。このうち、session はクライアントと MongoDB 間の接続を表す mgo.Session 型の変数です。 defer キーワードを使用すると、プログラムが終了する前に session.Close() が実行されるようになります。つまり、接続が閉じられます。最後に、fmt.Println() 関数を使用してコレクション値を出力し、データベース接続が成功したかどうかを確認します。

3. ドキュメントの挿入とクエリ

MongoDB では、ドキュメントはリレーショナル データベースの行と同様、データの基本単位です。 Go 言語は、mgo パッケージを通じてドキュメントの挿入とクエリを行うことができます。次のコードは、MongoDB の users コレクションにドキュメントを挿入できます。

package main

import (
    "fmt"
    "gopkg.in/mgo.v2"
    "time"
)

type User struct {
    Name     string `bson:"name"`
    Age      int    `bson:"age"`
    Email    string `bson:"email"`
    CreateAt time.Time `bson:"create_at"`
}

func main() {
    session, err := mgo.Dial("localhost:27017")
    if err != nil {
        panic(err)
    }
    defer session.Close()

    collection := session.DB("test").C("users")

    user := User{
        Name:     "Alice",
        Age:      28,
        Email:    "alice@example.com",
        CreateAt: time.Now(),
    }
    err = collection.Insert(user)
    if err != nil {
        panic(err)
    }

    var result []User
    err = collection.Find(nil).Sort("-create_at").Limit(10).All(&result)
    if err != nil {
        panic(err)
    }
    fmt.Println(result)
}

その中で、最初にデータベース内のドキュメントを記述する User 構造を定義します。 main 関数では、まず User 型の変数 user を作成し、そのフィールドを初期化します。次に、 collection.Insert() メソッドを通じて、それを users コレクションに挿入します。最後に、collection.Find() メソッドを使用して、users コレクション内のすべてのドキュメントをクエリし、create_at フィールドに従って逆順に並べ替え、返される結果の数を 10 に制限し、最後にクエリ結果を出力しました。

4. ドキュメントの更新と削除

MongoDB では、Update メソッドを使用してドキュメントを更新し、Remove メソッドを使用してドキュメントを削除できます。次のコードは、users コレクション内の Alice という名前のドキュメントの年齢を 30 に更新してから削除できます:

user := User{
    Name:     "Alice",
    Age:      30,
    Email:    "alice@example.com",
    CreateAt: time.Now(),
}
err = collection.Update(bson.M{"name": "Alice"}, user)
if err != nil {
    panic(err)
}

err = collection.Remove(bson.M{"name": "Alice"})
if err != nil {
    panic(err)
}

このうち、bson.M は mgo パッケージの型であり、MongoDB のドキュメントの説明に使用されます。 。 Update メソッドと Remove メソッドでは、bson.M を使用して、更新されたドキュメントと削除されたドキュメントを指定できます。

5. 概要

この記事では、Go 言語で MongoDB を使用する方法を紹介します。まず MongoDB をインストールし、mgo パッケージを使用してデータベースに接続します。次に、mgo パッケージの Insert メソッドと Find メソッドを使用して、MongoDB にドキュメントを挿入し、クエリを実行します。最後に、Update メソッドと Remove メソッドを使用してドキュメントを更新および削除する方法について説明しました。この記事を学習することで、Go 言語で MongoDB を使用する基本的な方法をマスターできます。

以上がGo で MongoDB を使用する: 完全ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。