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()只是一个基于字段的投影。

所以实际上没什么区别。如果您需要区分某些字段组合的数量,则可以使用第一个

关于java - Projections.distinct(Projections.count(“objectId”))和Projections.countDistinct(“objectId”)有什么区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34944295/

10-10 11:53