golang对mongo数据库索引的创建,删除操作

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()
}
 

你可能感兴趣的:(go语言)