Merge branch 'errcode' of github.com:OpenIMSDK/Open-IM-Server into errcode

 Conflicts:
	cmd/rpc/auth/main.go
	cmd/rpc/friend/main.go
	cmd/rpc/group/main.go
	cmd/rpc/msg/main.go
	cmd/rpc/user/main.go
	internal/rpc/auth/auth.go
	internal/rpc/conversation/conversaion.go
	internal/rpc/friend/friend.go
	internal/rpc/group/callback.go
	internal/rpc/group/group.go
	internal/rpc/msg/pull_message.go
	internal/rpc/msg/query_msg.go
	internal/rpc/msg/rpc_chat.go
	internal/rpc/msg/send_msg.go
	internal/rpc/user/user.go
	pkg/common/db/cache/redis.go
	pkg/common/db/controller/msg.go
	pkg/common/http/http_client.go
This commit is contained in:
wangchuxiao
2023-02-15 16:03:31 +08:00
92 changed files with 5293 additions and 5362 deletions
+41
View File
@@ -13,6 +13,47 @@ import (
"time"
)
//func NewMongo() *Mongo {
// mgo := &Mongo{}
// mgo.InitMongo()
// return mgo
//}
func NewMongo() (*Mongo, error) {
uri := "mongodb://sample.host:27017/?maxPoolSize=20&w=majority"
if config.Config.Mongo.DBUri != "" {
// example: mongodb://$user:$password@mongo1.mongo:27017,mongo2.mongo:27017,mongo3.mongo:27017/$DBDatabase/?replicaSet=rs0&readPreference=secondary&authSource=admin&maxPoolSize=$DBMaxPoolSize
uri = config.Config.Mongo.DBUri
} else {
//mongodb://mongodb1.example.com:27317,mongodb2.example.com:27017/?replicaSet=mySet&authSource=authDB
mongodbHosts := ""
for i, v := range config.Config.Mongo.DBAddress {
if i == len(config.Config.Mongo.DBAddress)-1 {
mongodbHosts += v
} else {
mongodbHosts += v + ","
}
}
if config.Config.Mongo.DBPassword != "" && config.Config.Mongo.DBUserName != "" {
uri = fmt.Sprintf("mongodb://%s:%s@%s/%s?maxPoolSize=%d&authSource=admin",
config.Config.Mongo.DBUserName, config.Config.Mongo.DBPassword, mongodbHosts,
config.Config.Mongo.DBDatabase, config.Config.Mongo.DBMaxPoolSize)
} else {
uri = fmt.Sprintf("mongodb://%s/%s/?maxPoolSize=%d&authSource=admin",
mongodbHosts, config.Config.Mongo.DBDatabase,
config.Config.Mongo.DBMaxPoolSize)
}
}
fmt.Println("mongo:", uri)
ctx, cancel := context.WithTimeout(context.Background(), time.Second*60)
defer cancel()
mongoClient, err := mongo.Connect(ctx, options.Client().ApplyURI(uri))
if err != nil {
return nil, err
}
return &Mongo{db: mongoClient}, nil
}
type Mongo struct {
db *mongo.Client
}