mongoTemplate mapReduce()

import com.Dao.MapReduceDao;
import com.mongodb.BasicDBObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.mapreduce.MapReduceOptions;
import org.springframework.data.mongodb.core.mapreduce.MapReduceResults;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Repository;

/**
 * @author xulei
 * @version 1.0
 * @date 2020/7/22 10:31
 */
@Repository
public class MapReduceDaoImpl implements MapReduceDao {
    @Autowired
    MongoTemplate mongoTemplate;
    
    @Override
    public void mapReduceDao() {
        Query query = new Query();
        query.addCriteria(Criteria.where("msg").is(false));
        String mapFunction = "function(){ emit(this.location, this.name); }";
        String reduceFunction = "function( key, values ){ return key + ': ' + values.join(', '); }";
        MapReduceOptions mapReduceOptions = new MapReduceOptions();
        MapReduceResults loginfo = mongoTemplate.mapReduce(query, "loginfo", mapFunction, reduceFunction, mapReduceOptions, BasicDBObject.class);
        //怎么获取结果暂时还不知道,等知道了会更新的
    }
}

 

posted @ 2020-07-31 14:37  帖子搬运工  阅读(741)  评论(0)    收藏  举报