Files

57 lines
1.2 KiB
Go

package database
import (
"fmt"
"log"
"os"
"github.com/joho/godotenv"
"go.mongodb.org/mongo-driver/v2/mongo"
"go.mongodb.org/mongo-driver/v2/mongo/options"
)
func Connect() *mongo.Client {
err := godotenv.Load(".env")
if err != nil {
log.Fatal("Unable to find or read .env file in db Connect")
}
MongoDb := os.Getenv("DATABASE_URI")
if MongoDb == "" {
log.Fatal("DATABASE_URI not set")
}
fmt.Println("Database URI: ", MongoDb)
clientOptions := options.Client().ApplyURI(MongoDb)
client, err := mongo.Connect(clientOptions)
if err != nil {
log.Fatalf("Failed to connect: %v", err)
}
return client
}
var Client *mongo.Client = Connect()
func OpenCollection(collectionName string) *mongo.Collection {
err := godotenv.Load(".env")
if err != nil {
log.Fatal("Unable to find or read .env file in OpenCollection")
}
databaseName := os.Getenv("DATABASE_NAME")
if databaseName == "" {
log.Fatal("DATABASE_NAME not set")
}
fmt.Println("Database name: ", databaseName)
collection := Client.Database(databaseName).Collection(collectionName)
if collection == nil {
log.Fatal("Unable to OpenCollection")
return nil
}
return collection
}