package database import ( "context" "fmt" "log" "os" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo/options" ) type DatabaseController struct{ db *mongo.Database } func Init() *DatabaseController{ uri := os.Getenv("MONGODB_URI"); if uri == "" { log.Fatal("You must set your 'MONGODB_URI' environmental variable. See\n\t https://www.mongodb.com/docs/drivers/go/current/usage-examples/#environment-variable") } client, err := mongo.Connect(context.TODO(), options.Client().ApplyURI(uri)); if err != nil { panic(err) } defer func() { if err := client.Disconnect(context.TODO()); err != nil { panic(err) } }() db := client.Database(os.Getenv("MONGODB_NAME")) var result bson.M db.Collection("Games").FindOne(context.TODO(), bson.D{{"name", "Card_game"}}).Decode(&result) fmt.Println(result) return &DatabaseController{db} // databases, err := client.ListDatabaseNames(context.TODO(), bson.M{}) // fmt.Println(databases) // Collection := client.Database(os.Getenv("MONGODB_NAME")).Collection("Games") }