博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MongoDb查询和分组统计示例
阅读量:6620 次
发布时间:2019-06-25

本文共 1663 字,大约阅读时间需要 5 分钟。

hot3.png

 按周统计:   

                             DBCollection userSColl = db.getCollection("paysource");

BasicDBObject key = new BasicDBObject("userId", true);

BasicDBObject cond = new BasicDBObject("userId", userId);

SimpleDateFormat sdf = new SimpleDateFormat(

"yyyy-MM-dd HH:mm:ss");

cond.put(

"createtime",

new BasicDBObject("$gte", sdf

.format(getTimesWeekmorning())).append("$lte",

sdf.format(getTimesWeeknight())));

BasicDBObject initial = new BasicDBObject("praise", 0);

String reduce = "function(obj,pre){pre.praise+=obj.money}";

BasicDBList returnList = (BasicDBList) userSColl.group(key,

cond, initial, reduce);

if (returnList.size() > 0) {

DBObject obj = (DBObject) returnList.get(0);

money = Double.parseDouble(obj.get("praise").toString());

List<FreindDoctor> docts = new ArrayList<FreindDoctor>();

List<String> mobiles = getFreindMobiles(userId);

DB db = MyMongo.getDB();

if (db != null) {

DBCollection collection = db.getCollection("user");

BasicDBList values = new BasicDBList();

for (String info : mobiles) {

values.add(info);

}

BasicDBObject cond = new BasicDBObject();

cond.put("typeId", User.DOCTOR);

cond.put("userId", new BasicDBObject("$in", values));

DBCursor cursor = collection.find(cond);

try {

while (cursor.hasNext()) {

DBObject obj = cursor.next();

User doctor = gson.fromJson(obj.toString(), User.class);

if (doctor != null) {

FreindDoctor tm = new FreindDoctor();

tm.doctorId = doctor.userId;

ContactBean cont=getFreind(userId,doctor.userId);

tm.doctorName =cont.name;

tm.healUrl=doctor.headUrl;

docts.add(tm);

}

}

} catch (Exception e) {

logger.error("getContactDoctors " + e.getMessage());

} finally {

cursor.close();

}

}

 

转载于:https://my.oschina.net/u/778683/blog/829009

你可能感兴趣的文章
vCenter Server 5.1 Required Ports
查看>>
监控cpu负载的脚本
查看>>
awk多文件的处理
查看>>
linux虚拟文件系统浅析
查看>>
Centos7 系统安装
查看>>
JDBC的轻量级封装DBUtils开源组件的使用(一)
查看>>
find 文件中字符串搜索
查看>>
环境考查与探测-虚拟终端网络工程实施
查看>>
撮合系统
查看>>
Android Studio 快捷键
查看>>
在web.xml文件中使用EL表达式配置变量例子
查看>>
python小程序
查看>>
专业才是王道
查看>>
Struts2.3.1.2+Hibernate3.5.5+Spring3.1.1所必要的Jar包
查看>>
交换机的“TRUNK”的配置
查看>>
Nginx禁止ip访问站点
查看>>
100万个数中找出最大的前K个数
查看>>
arrayList 和hashSet的区别
查看>>
shell脚本自动修改IP信息
查看>>
【Python进阶】03、json
查看>>