微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Golang中创建mongodb索引的方法

如何解决在Golang中创建mongodb索引的方法

我目前通过以下方式创建索引:

在db包中:

// CreateUniqueIndex create UniqueIndex
func CreateUniqueIndex(collection string,keys ...string) {
    keysDoc := bsonx.Doc{}
    for _,key := range keys {
        if strings.HasPrefix(key,"-") {
            keysDoc = keysDoc.Append(strings.TrimLeft(key,"-"),bsonx.Int32(-1))
        } else {
            keysDoc = keysDoc.Append(key,bsonx.Int32(1))
        }
    }
    idxRet,err := database.Collection(collection).Indexes().CreateOne(
        context.Background(),mongo.IndexModel{
            Keys:    keysDoc,Options: options.Index().SetUnique(true),},options.CreateIndexes().SetMaxTime(10*time.Second),)
    if err != nil {
        log.Fatal(err)
    }
    log.Println("collection.Indexes().CreateOne:",idxRet)
}

在main.go文件中:

db.CreateUniqueIndex("User","email")

我担心的是,在启动服务器时将创建索引。但是,如果用户创建一个帐户并将他的电子邮件作为索引该怎么办?

因此,请提供正确的方法来处理mongodb索引。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。