登录
首页 >  Golang >  Go问答

每次数据库操作耗时 30 秒

来源:stackoverflow

时间:2024-02-12 19:45:22 311浏览 收藏

小伙伴们对Golang编程感兴趣吗?是否正在学习相关知识点?如果是,那么本文《每次数据库操作耗时 30 秒》,就很适合你,本篇文章讲解的知识点主要包括。在之后的文章中也会多多分享相关知识点,希望对大家的知识积累有所帮助!

问题内容

即使是最简单的代码:

func main() {
    ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
    defer cancel()
    client, err := mongo.Connect(ctx, options.Client().ApplyURI("mongodb+srv://standard:[email protected]/blog-application?retryWrites=true&w=majority"))
    if err != nil {
        log.Fatal("Error connect to DB: ", err.Error())
    }
    db := client.Database("blog-application")
    fmt.Println(time.Now().Second()) // 9
    db.Collection("user").Find(context.Background(), bson.M{})
    fmt.Println(time.Now().Second()) // 39
}

运行需要 30 秒。

为什么需要那么长时间才能运行? 如有任何帮助,我们将不胜感激!


解决方案


您没有对查找结果进行错误检查。您的查找失败,因为您的客户端无法连接到您的集群,并且默认服务器选择超时为 30 秒。

“每个数据库操作需要 30 秒”仅部分正确。每次尝试数据库操作需要 30 秒才会失败。

本篇关于《每次数据库操作耗时 30 秒》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>