因此,我正在使用官方的mongo驱动程序进行go.mongodb.org/mongo-driver
转换,并且正在容器中运行mongodb v4。所有操作都可以正常工作,但是当我尝试向CountDocument添加提示时,它会失败,并显示错误unrecognized field hint
。我已经在旧的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
答案 0 :(得分:0)
CountDocuments()
遵循mongo shell countDocuments()
的实践,这是aggregate
和$match
中的$group
。您将无法在aggregate
上使用提示。
请参阅实现here。 SetHint()
选项具有误导性,但我仍然误以为是这样。
侧面说明:只要您有适当的索引,mongo查询计划器就应该信任查询计划器。