如何解决在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 举报,一经查实,本站将立刻删除。