登录
首页 >  Golang >  Go问答

MongoDB Golang 驱动程序在 CountDocument 中使用时不会返回未识别字段提示

来源:stackoverflow

时间:2024-02-24 19:36:28 106浏览 收藏

编程并不是一个机械性的工作,而是需要有思考,有创新的工作,语法是固定的,但解决问题的思路则是依靠人的思维,这就需要我们坚持学习和更新自己的知识。今天golang学习网就整理分享《MongoDB Golang 驱动程序在 CountDocument 中使用时不会返回未识别字段提示》,文章讲解的知识点主要包括,如果你对Golang方面的知识点感兴趣,就不要错过golang学习网,在这可以对大家的知识积累有所帮助,助力开发能力的提升。

问题内容

因此,我使用 go go.mongodb.org/mongo-driver 的官方 mongo 驱动程序,并且在容器中运行 mongodb v4。所有操作都工作正常,但当我尝试向 countdocument 添加提示时,它失败并显示错误,提示 unrecognized fieldhint。我在旧的 gh 问题和 jira 线程中看到过此错误报告,但这些情况下的问题是人们使用的 mongo 版本早于 3.6,但我使用的是 v4,所以我无法找出问题。

opts := &options.CountOptions{}
opts.SetHint("client_1_created_at_1")

count, err := r.collection.CountDocuments(ctx, query, opts)
if err != nil {
    return 0, err
}
return count, nil

mongodb 版本:4.0.6 mongo驱动版本:1.0.1


解决方案


mongo-go-driver 中的 countDocuments() 遵循 mongo shell countDocuments() 实践,这是 aggregate$match$group。您将无法在 aggregate 上使用提示。

请参阅实现 hereSetHint() 选项具有误导性,我认为它仍然是错误的。

旁注:应该信任查询规划器,只要您有合适的索引,mongo查询规划器就会为您选择正确的索引。

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

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