-1

即使是最简单的代码:

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 秒。

为什么它需要那么长时间才能运行?任何帮助表示赞赏!

4

1 回答 1

1

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

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

于 2021-03-03T07:22:36.700 回答