package main
import (
"fmt"
"log"
"time"
"gopkg.in/mgo.v2"
)
const (
MongoDBHosts = "IP:PORT" //mongodb 地址端口
AuthDatabase = "dbname" //autn 库
AuthUserName = "username" //auth 用户名
AuthPassword = "password" // auth 密码
MaxCon = 300 //连接池socket设置
)
func main() {
mongoDBDialInfo := &mgo.DialInfo{
Addrs: []string{MongoDBHosts},
Timeout: 60 * time.Second,
Database: AuthDatabase,
Username: AuthUserName,
Password: AuthPassword,
}
session, err := mgo.DialWithInfo(mongoDBDialInfo)
if err != nil {
log.Fatalf("CreateSession failed:%\n", err)
}
//建立collection
coll := session.DB("test").C("user")
/*
EnsureIndexKey ensures an index with the given key exists, creating it if necessary
*/
//索引存在则不进行操作,不存在自动创建
// err = coll.EnsureIndexKey("a", "b")
//fmt.Println("err-----------------:",err)
//查询所有的已存在索引
// indexs, err := coll.Indexes()
// fmt.Println("err-----------------:", err)
// fmt.Println("indexs--------------:", indexs)
//删除索引,成功返回nil,如果不存在则返回对应的具体信息
// err = coll.DropIndex("a", "b")
// fmt.Println("err-----------------:", err)
//设置连接池的大小,默认4096可自定义修改根据需求
session.SetPoolLimit(MaxCon)
defer session.Close()
}