Golang操作MongoDB(1) 連接池


連接方式

mongo-go-driver

// pool 連接池模式
func ConnectToDB(uri, name string, timeout time.Duration, num uint64) (*mongo.Database, error)  {
	// 設置連接超時時間
	ctx, cancel := context.WithTimeout(context.Background(), timeout)
	defer cancel()
	// 通過傳進來的uri連接相關的配置
	o := options.Client().ApplyURI(uri)
	// 設置最大連接數 - 默認是100 ,不設置就是最大 max 64
	o.SetMaxPoolSize(num)
	// 發起鏈接
	client, err := mongo.Connect(ctx, o)
	if err != nil {
		log.Fatal(err)
		return nil, err
	}
	// 判斷服務是不是可用
	if err = client.Ping(context.Background(), readpref.Primary()); err != nil {
		log.Fatal(err)
		return nil, err
	}
	// 返回 client
	return client.Database(name), nil
}

重點(會考,划重點) ` 如 "用戶名:密碼@用戶名:端口"` 
toDB, err := db.ConnectToDB("mongodb://root:root123@localhost:27018", "user1",time.Duration(2),50)



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM