2010年9月10日 星期五

MongoDB用Java寫Map/Reduce的方法

官方的API
http://api.mongodb.org/java/2.1/index.html

public MapReduceOutput mapReduce(String map,
String reduce,
String outputCollection,
DBObject query)
throws MongoException

最讓人迷惑的,應該就是String map和String reduce這二個參數吧,
參考http://github.com/mongodb/mongo-java-driver/commit/fa003adc5db8a6c4efe0279c74973af15d99e6ed
簡單的說,就是硬上就對啦,
String m = "function(){ for ( var i=0; i<this.x.length; i++ ){ emit( this.x[i] , 1 ); } }";
String r = "function(key,values){ var sum=0; for( var i=0; i<values.length; i++ ) sum += values[i]; return sum;}";
coll.mapReduce(m , r , null , null);
就搞定。

沒有留言:

張貼留言

追蹤者