Projections.distinct(Projections.count("objectId")) 和 Projections.countDistinct("objectId") 有什么区别

What is the difference between Projections.distinct(Projections.count("objectId")) and Projections.countDistinct("objectId")

Projections.distinct(Projections.count("objectId")) 

Projections.countDistinct("objectId")

谁能告诉我它们之间有什么区别?什么时候使用一个? 获取不同计数的正确方法是什么? 两个语句生成的查询是否相同?

Projections.distinct(Projections.count("objectId")) 

Projections.distinct 可以使用投影组合,例如

Projections.distinct(projectionsList)

projectionsList 的定义如下

ProjectionList projectionsList  = Projections.projectionList();
projectionsList .add(Projections.property("id"));
projectionsList .add(Projections.property("name"));
...

Projections.countDistinct() 只是一个基于场的投影。

所以其实没什么区别。如果您需要某些字段组合的不同计数,可以使用第一个