按字段MongoDB Java Driver 3+分组

时间:2016-11-16 10:27:21

标签: java mongodb driver

我想使用MongoDB Java Driver 3.0在我的整个文档上应用组操作

我的查询类似于:

db.coll.group( { key: {"field": 1}, cond: {}, reduce: function(curr, result){}, initial: {} } )

结果是:

{
        "field" : "A61038968K16X275KNWCEIHr"
    },
    {
        "field" : "AH1038968716P3210C6NiQpD"
    },
    {
        "field" : "AV1038968F16Q321DCxY7T6w"
    },
    {
        "field" : "A71038968K165321PLiEhbGJ"
    },
    {
        "field" : "AY1038968N16w321a537co1U"
    },
    {
        "field" : "AJ1038968E16S3212MJpeNNV"
    }

我正在尝试Java中的事情:collection.aggregate(group("field"))但它不起作用。对不起,如果这很容易,但我找不到任何谷歌搜索。

谢谢!

1 个答案:

答案 0 :(得分:0)

所以,我所寻找的是一个独特的'方法

我的解决方案是:

collection.distinct(<string field>, <query>, <result class>);

例如,在我的例子中,我的结果类是一个String。

collection.distinct("field_grouping",gte("field_query", 1000),String.class);

之后,您可以迭代结果并做任何您想做的事情:

Iterator<String> iterator = collection.distinct("field_grouping",gte("field_query", 1000),String.class).iterator();