【MongoDb】MongoDb的hello world实例(Java版)

本次实验,前提是已经安装好mongodb环境。查看是否安装mongodb:

其中需要用到相应的jar包
mongo-2.10.1.jar

package dao;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.function.Consumer;
import org.gdal.ogr.ogr;
import com.google.gson.JsonObject;
import com.mongodb.AggregationOutput;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.util.JSON;
import net.sf.json.JSONObject;
import util.DateTime;
public class mongoDbSta {
    private Mongo m=null;
    private DB db=null;
    private DBCollection coll=null;
    public void conn2mongoDb(){
       try{
           m = new Mongo("localhost" , 27017); 
           db = m.getDB("classBigData"); 
           coll = db.getCollection("log");
        }catch(Exception e){ 
            e.printStackTrace();             
        }
       //register drivers
       ogr.RegisterAll();
    }
    public JSONObject getEverydayAccess() {
       conn2mongoDb();
       JSONObject jo = new JSONObject();
       //connect to MongoDB
       String s_time=DateTime.getCurrentTime();
       Date s_date=new Date();
       long s_int=s_date.getTime();
       DBObject group = (BasicDBObject) JSON.parse("{$group:{_id:\"$date\",num:{$sum:1}}}");
       DBObject sort = (BasicDBObject) JSON.parse("{$sort:{_id:1}}");
       AggregationOutput output = coll.aggregate(group,sort);
       Iterable<DBObject> result=output.results();
       List<String> date = new ArrayList<String>();
       List<String> num = new ArrayList<String>();
       result.forEach(new Consumer<DBObject>() {
           @Override
               public void accept(DBObject t) {
                   // TODO Auto-generated method stub
                       date.add(t.get("_id").toString());
                       num.add(t.get("num").toString());
               }
           });
       String e_time=DateTime.getCurrentTime();
       Date e_date=new Date();
       long e_int=e_date.getTime();
       System.out.println("查询每天的访问次数耗时:"+String.valueOf(e_int-s_int)+"ms");
       System.out.println(date);
       System.out.println(num);
       jo.put("x", date);
       jo.put("y", num);
       return jo;
    }
    public static void main(String[] args) {
       mongoDbSta sta=new mongoDbSta();
        System.out.println(sta.getEverydayAccess());
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值