mgo.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package main
  2. import (
  3. "context"
  4. "go.mongodb.org/mongo-driver/mongo"
  5. "go.mongodb.org/mongo-driver/mongo/options"
  6. )
  7. type Mgo struct {
  8. Uri string
  9. PoolSize uint64
  10. mgoEn *mongo.Client
  11. }
  12. func InitMgoEn(uri string, poolSize uint64,username_password ... string) (*Mgo, error) {
  13. //fengweiqiang fwq@123123
  14. m := Mgo{}
  15. m.Uri = uri
  16. if poolSize == 0 {
  17. m.PoolSize = 100
  18. }
  19. //fengweiqiang/fwq@123123
  20. options_client := options.Client().
  21. ApplyURI(uri).SetMaxPoolSize(m.PoolSize)
  22. if len(username_password)==2{
  23. options_client = options_client.SetAuth(options.Credential{Username: username_password[0], Password: username_password[1]})
  24. }
  25. client, err := mongo.Connect(context.Background(), options_client)
  26. if err != nil {
  27. return nil, err
  28. } else {
  29. m.mgoEn = client
  30. return &m, nil
  31. }
  32. }
  33. func (m *Mgo) GetCon() *mongo.Client {
  34. if m.mgoEn != nil {
  35. return m.mgoEn
  36. } else {
  37. return nil
  38. }
  39. }
  40. //var zwjeReg *regexp.Regexp = regexp.MustCompile(`([〇零点壹贰叁肆伍陆柒捌玖拾百佰千仟万萬亿億元圆角分整正]{4,40})`)