2016-11-16 65 views
0

我想使用MongoDB的Java驱动程序3.0组通过现场MongoDB的Java驱动程序3+

我询问了我的整个文档应用一组操作是这样的:

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"))但它不起作用。对不起,如果它很容易,但我找不到任何Google搜索。

谢谢!

+1

我试过的东西,也许不是很好的解决办法,但我想我能对你有所帮助'可迭代输出= coll.aggregate ((列表<?延伸BSON>)阵列 \t \t \t \t .asList((DBOBJECT)新BasicDBObject( “$基团”,(DBOBJECT)新BasicDBObject( “_ ID”, “$场”) \t \t \t 012 (“count”,(DBObject)new BasicDBObject(“$ sum”,1))));;' –

回答

0

所以,我正在寻找的是一种“独特”的方法。

我的解决办法是:

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

例如,在我的情况,我的结果类是一个字符串。

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

之后,你可以重复你的结果,做任何你想要的:

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