每个数据库操作需要 30 秒

Each Database Operation takes 30 seconds

即使是最简单的代码:

func main() {
    ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
    defer cancel()
    client, err := mongo.Connect(ctx, options.Client().ApplyURI("mongodb+srv://standard:example@cluster0.f5yec.mongodb.net/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 秒才会失败。