如何在mongodb java驱动程序中获取不同字段的计数
我知道我可以通过如下查询得到一个不同的列表:如何在mongodb java驱动程序中获取不同字段的计数,mongodb,count,Mongodb,Count,我知道我可以通过如下查询得到一个不同的列表: db.collections.distinct("fieldName") 并使用 db.collections.distinct("fieldName").length 但是除了在聚合查询中,是否有其他方法可以在mongodb java驱动程序中获取长度 或将实施以下措施: collection.distinct("fieldName", condition).size() 效率太低?对代码稍加修改: db.collections.dist
db.collections.distinct("fieldName")
并使用
db.collections.distinct("fieldName").length
但是除了在聚合查询中,是否有其他方法可以在mongodb java驱动程序中获取长度
或将实施以下措施:
collection.distinct("fieldName", condition).size()
效率太低?对代码稍加修改:
db.collections.distinct("fieldName").length
很抱歉,我只是在mongodb客户端shell中找到了这样做的答案(尽管您发布了答案,谢谢),但我仍然不知道如何使用mongodb java-driver@armnotstrongmongodb似乎不支持使用distinct命令进行服务器端排序。因此,聚合查询将是您唯一的途径。就性能而言,在客户端排序要好得多。感谢您的回复,我只是发现我可能可以使用
list.size()
实现这一点,因为distinct
返回了一个列表,但这是否会导致效率低下?@armnotstrong,也许可以检查一下:您使用了哪个mongojava驱动程序
?@yogesh是官方的mongojava驱动程序
2.12.0版