mongo.go 934 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package db
  2. import (
  3. "log"
  4. "sfbase/core"
  5. "sfbase/global"
  6. "sfbase/mongodb"
  7. )
  8. type MongoConfig struct {
  9. Qyfw struct {
  10. Addr string `mapstructure:"addr"`
  11. Size int `mapstructure:"size"`
  12. Db string `mapstructure:"db"`
  13. Coll string `mapstructure:"coll"`
  14. } `mapstructure:"qyfw"`
  15. }
  16. var (
  17. Qyfw *mongodb.MongodbSim
  18. )
  19. func InitMongo() {
  20. //数据库属性定义在业务中,解析配置文件加载到结构体基本方法viper在spirit中
  21. sfisDBConfig := MongoConfig{}
  22. _, err := core.Viper(global.EnvPathPrefix+"/"+global.Env+"/mongo.toml", &sfisDBConfig)
  23. if err != nil {
  24. log.Println("sfisDBConfig:", err)
  25. return
  26. }
  27. Qyfw = &mongodb.MongodbSim{
  28. MongodbAddr: sfisDBConfig.Qyfw.Addr,
  29. Size: sfisDBConfig.Qyfw.Size,
  30. DbName: sfisDBConfig.Qyfw.Db,
  31. }
  32. Qyfw.InitPool()
  33. }
  34. func GetQyfw() *mongodb.MongodbSim {
  35. if Qyfw == nil {
  36. log.Printf("ERROR:Qyfw 实例为空!请重新实例化.")
  37. }
  38. return Qyfw
  39. }