2012-07-15 65 views
1

这里是我的mongdb收藏:如何通过Java驱动程序通过集合函数(如组,数和独特)来访问mongodb集合?

{ "_id" : ObjectId("50033fb1ecc250aa369a678a"), "ID" : 1, "FirstName" : "ijaz", 
"LastName" : "alam", "Age" : 21, "Address" : "peshawer" } 
{ "_id" : ObjectId("50033fc2ecc250aa369a678b"), "ID" : 2, "FirstName" : "ashfaq" 
,"LastName" : "khan", "Age" : 1921, "Address" : "sadkabad" } 
{ "_id" : ObjectId("50033fdeecc250aa369a678c"), "ID" : 3, "FirstName" : "danyal" 
,"LastName" : "alam", "Age" : 18, "Address" : "lahore" } 
{ "_id" : ObjectId("50033ff7ecc250aa369a678d"), "ID" : 43, "FirstName" : "shahzad" 
, "LastName" : "sad", "Age" : 22, "Address" : "nazirabad" } 

现在我想用类基团,不同的集合函数,并通过Java驱动程序或通过如何Java驱动程序来实现查询聚合函数收集之上指望。

回答

3

Distinctcount和特殊的Mongo命令,你不需要做任何特殊的聚合来使用它们。只需在DBCollection实例上使用适当的参数调用它们即可。

myCollection.distinct("Age") // gives you all the ages in the collection 
myCollection.count(new BasicDBObject("Age", 22)) // gives you a count of 22 year olds 

对于其它聚合操作,你要在Java GroupCommand

new GroupCommand(myCollection, 
      new BasicDBObject("Age ", true), 
      null, 
      new BasicDBObject("count", 0), 
      "function(key,val){ val.count++;}", 
      null); //gives counts of each age in the collection 

如果你在蒙戈或更高版本的2.1.x的开发版本上运行,检查出的聚合框架。它比现有的组命令更好(但在此答案时尚未准备好生产)。

+0

Thanx Alot Mrkut它非常有用! – jad001 2012-07-16 21:23:59

相关问题