Projections.distinct(Projections.count("objectId"))
和
Projections.countDistinct("objectId")
有谁可以告诉我他们之间有什么区别?何时使用其他? 获得独特计数的正确方法是什么? 两个语句生成的查询是否相同?
答案 0 :(得分:1)
Projections.distinct(Projections.count("objectId"))
Projections.distinct可以使用投影组合,例如
Projections.distinct(projectionsList)
其中projectionList的定义如下
ProjectionList projectionsList = Projections.projectionList();
projectionsList .add(Projections.property("id"));
projectionsList .add(Projections.property("name"));
...
Projections.countDistinct()只是一个基于字段的投影。
所以实际上没什么区别。如果您需要对某些字段组合进行不同计数,则可以使用第一个