اتصال به دیتابیس MongoDB در برنامه‌های go


برای اتصال به دیتابیس MongoDB در برنامه‌های go، در ابتدا باید ماژول مربوط به آن را با اجرای دستور زیر، نصب کنید:

کپی
go get go.mongodb.org/mongo-driver/mongo

پس از آن، کافیست تا اطلاعات مربوط به دیتابیس خود را به متغیرهای محیطی برنامه خود، اضافه کنید؛ به عنوان مثال:

کپی
MONGODB_URI="mongodb://root:cytAXXy458bz5iBO3Sm7xw8w@fitz-roy.liara.cloud:30219/my-app?authSource=admin"

در نهایت، می‌توانید با استفاده از قطعه کد زیر، به دیتابیس خود، متصل شوید:

کپی
package main

import (
"context"
"fmt"
"os"

"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
)

func main() {
// Get the MongoDB URI from the environment variable
uri := os.Getenv("MONGODB_URI")
if uri == "" {
	panic("MONGODB_URI environment variable is not set")
}

// Use the SetServerAPIOptions() method to set the Stable API version to 1
serverAPI := options.ServerAPI(options.ServerAPIVersion1)
opts := options.Client().ApplyURI(uri).SetServerAPIOptions(serverAPI)

// Create a new client and connect to the server
client, err := mongo.Connect(context.TODO(), opts)
if err != nil {
	panic(err)
}
defer func() {
	if err = client.Disconnect(context.TODO()); err != nil {
		panic(err)
	}
}()

// Send a ping to confirm a successful connection
var result bson.M
if err := client.Database("admin").RunCommand(context.TODO(), bson.D{{Key: "ping", Value: 1}}).Decode(&result); err != nil {
	panic(err)
}
fmt.Println("Pinged your deployment. You successfully connected to MongoDB!")
}