package db import ( "log" "sfbase/core" "sfbase/global" "sfbase/mongodb" ) type MongoConfig struct { Qyfw struct { Addr string `mapstructure:"addr"` Size int `mapstructure:"size"` Db string `mapstructure:"db"` Coll string `mapstructure:"coll"` } `mapstructure:"qyfw"` } var ( Qyfw *mongodb.MongodbSim ) func InitMongo() { //数据库属性定义在业务中,解析配置文件加载到结构体基本方法viper在spirit中 sfisDBConfig := MongoConfig{} _, err := core.Viper(global.EnvPathPrefix+"/"+global.Env+"/mongo.toml", &sfisDBConfig) if err != nil { log.Println("sfisDBConfig:", err) return } Qyfw = &mongodb.MongodbSim{ MongodbAddr: sfisDBConfig.Qyfw.Addr, Size: sfisDBConfig.Qyfw.Size, DbName: sfisDBConfig.Qyfw.Db, } Qyfw.InitPool() } func GetQyfw() *mongodb.MongodbSim { if Qyfw == nil { log.Printf("ERROR:Qyfw 实例为空!请重新实例化.") } return Qyfw }