当与CountDocument一起使用提示时,MongoDB Golang驱动程序不会返回无法识别的字段“提示”

时间:2019-06-20 11:27:58

标签: mongodb go

因此,我正在使用官方的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

1 个答案:

答案 0 :(得分:0)

mongo-go-driver中的

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

请参阅实现hereSetHint()选项具有误导性,但我仍然误以为是这样。

侧面说明:只要您有适当的索引,mongo查询计划器就应该信任查询计划器。