package database import ( "context" "log" "strings" "time" "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo/options" ) var MongoClient *mongo.Client var MongoDb *mongo.Database func InitMongo(uri string) (*mongo.Client, error) { ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) defer cancel() client, err := mongo.Connect(ctx, options.Client().ApplyURI(uri)) if err != nil { log.Fatal("Mongo connect error:", err) return nil, err } if err := client.Ping(ctx, nil); err != nil { log.Fatal("Mongo ping error:", err) return nil, err } MongoClient = client log.Println("MongoDB connected:", uri) parts := strings.Split(uri, "/") dbName := parts[len(parts)-1] // 最后一段就是数据库名 MongoDb = client.Database(dbName) return client, nil } func GetCollection(collName string) *mongo.Collection { return MongoDb.Collection(collName) }