登录
首页 >  Golang >  Go问答

简单查询的上下文

来源:stackoverflow

时间:2024-04-11 10:03:33 495浏览 收藏

积累知识,胜过积蓄金银!毕竟在Golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《简单查询的上下文》,就带大家讲解一下知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

我正在 mongodb 上进行简单的数据库查询,我发现有两种不同的方法来调用 context。

第一种超时方式:

ctx, cancel := context.withtimeout(context.background(), 2*time.second)
defer cancel()
result := collection.findone(ctx, bson.m{"_id": userid})

第二种方式,直接使用 context.background() 调用

result := collection.FindOne(context.Background(), bson.M{"_id": userID})

如果我使用第二种方式并且有很长的延迟,它会永远等待还是在某个时刻超时?

我发现第二种解决方案更优雅,代码行更少,但由于我是 go 新手,我可能会误解其中的风险。


解决方案


如果您通过 URI options 设置套接字超时和连接超时,则当超过这些超时时,第二个选项应该超时。

好了,本文到此结束,带大家了解了《简单查询的上下文》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

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