【发布时间】:2021-05-28 16:27:13
【问题描述】:
是否可以在 mongoTemplate 中以某种方式链接 distinct(...) 和 countDocuments(...)。
类似的东西
mongoTemplate.getCollection("foo").distinct("bar", Foo.class).countDocuments();
请记住,我将有几百万个结果,所以我不想通过将所有不同的实体放入一个数组然后获取它的大小来在 jvm 中造成瓶颈。我宁愿从 MongoDB 中获取一个数字,而不要打扰 JVM。
【问题讨论】:
-
您可以使用
into(new ArrayList<Foo>()).size()而不是countDocuments。这会给你计数。 -
问题是,我预计会有几百万个结果,这意味着我的数组将在 JVM 中膨胀。是否可以从 MongoDB 获取大小而不是获取数组的大小?
-
这里是否允许使用 mongo 的聚合管道?您能否提供有关
bar属性架构的更多信息
标签: mongodb spring-boot spring-data-mongodb mongotemplate