2016-11-16 60 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(); 
相關問題