mongo.go 675 B

12345678910111213141516171819202122232425262728293031323334
  1. package dao
  2. import (
  3. "context"
  4. "github.com/gogf/gf/frame/g"
  5. "go.mongodb.org/mongo-driver/mongo"
  6. "go.mongodb.org/mongo-driver/mongo/options"
  7. "time"
  8. )
  9. type Database struct {
  10. Mongo *mongo.Client
  11. }
  12. var DB *Database
  13. //初始化
  14. func init() {
  15. DB = &Database{
  16. Mongo: SetConnect(),
  17. }
  18. }
  19. // 连接设置
  20. func SetConnect() *mongo.Client {
  21. uri := g.Cfg().GetString("mongo.default")
  22. ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
  23. defer cancel()
  24. client, err := mongo.Connect(ctx, options.Client().ApplyURI(uri).SetMaxPoolSize(20)) // 连接池
  25. if err != nil {
  26. g.Log().Error(err.Error())
  27. }
  28. return client
  29. }