mongodb的java驱动如何在distinct后count,只获得结果的大小 20

已知mongodb的shell中是这样写:>db.runCommand({"distinct":"goods","key":"productId"}).values.le... 已知mongodb的shell中是这样写:

> db.runCommand({"distinct":"goods", "key" : "productId"}).values.length
11898
> db.goods.distinct("productId").length
11898

请问在java中怎样只获得结果的大小,而不返回所有结果,因为数量非常大

下面这两种方式都会返回distinct的所有结果
CommandResult result = mongoTemplate.getDb().command(new BasicDBObject("distinct", "goods").append("key", "productId"));
System.out.println(result);

DBCollection coll = mongoTemplate.getCollection("goods");
int size = coll.distinct("productId").size();
System.out.println(size);
展开
 我来答
无敌菌君
2014-07-15 · TA获得超过166个赞
知道答主
回答量:66
采纳率:100%
帮助的人:26.7万
展开全部
不distinct是可以的:mongoTemplate.getCollection("goods").getStats().get("size");
distinct后没发现呢,貌似不行吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式