java - MongoDb 聚合

标签 java mongodb mongodb-query aggregation-framework nosql

如何使用 mongdoDb 聚合编写 simial 查询

select count(*) as ccount from a group by a.someField order by ccount desc limit 1

在 mondoDb 中使用组函数,我想按特定键对我的集合进行分组并返回 1 行,这种情况发生得更频繁

下面的 Java 代码,返回列表,在字段 someField 上应用分组并返回元素集合,其中每个元素都有 2 个字段,“someField”和“count”(出现次数)我想避免第二个在客户端进行迭代以找出最大计数

new GroupCommand(myCollection,
                 new BasicDBObject("someField ", true),
                 null,
                 new BasicDBObject("count", 0),
                "function(key,val){ val.count++;}", 
                 null);

最佳答案

MongoDB 的组命令无法使用 SQL 的顺序或限制。当前开发版本(2.1 版)中的聚合框架提供了 $sort 和 $limit 运算符:

http://www.mongodb.org/display/DOCS/Aggregation+Framework

关于java - MongoDb 聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10387592/

相关文章:

mongodb - MongoDB 的图形数据库构建器(如 DBForge for MySQL)

MongoDB : Find duplicate when field type is not the same

java - OnLongCLickListener 无法按我的需要工作

java - 如何连接到SQS队列

java - 我应该在客户端/服务器应用程序中使用套接字吗?

java - 如何在外部组件上发生事件时立即检测到该事件。不想投票,还有其他选择吗?

mongodb - 遍历所有 Mongo 数据库

java - MongoDB Multi-Tenancy (Java): How to switch MongoDB databases,在运行时使用MongoClient具有不同的数据库凭据?

linux - 使用日期的 Mongo shell 查询

Mongodb聚合(月)查询将 "missing fields"设置为零