node里面连接mongodb查询返回一天的数据(根据时间段查询)

一.思路

a.使用new Date(2017,05,12).getTime()返回截止到今天的毫秒数

b.然后将上面的毫秒数减去一天的毫秒数86 400 000

c.然后就通过这两个参数在MongoDB里面查询今天一天的数据

二.科普

a.时间

// 简单的一句代码vardate =newDate(时间戳);//获取一个时间对象/**

1. 下面是获取时间日期的方法,需要什么样的格式自己拼接起来就好了

2. 更多好用的方法可以在这查到 -> http://www.w3school.com.cn/jsref/jsref_obj_date.asp

*/date.getFullYear();// 获取完整的年份(4位,1970)date.getMonth();// 获取月份(0-11,0代表1月,用的时候记得加上1)date.getDate();// 获取日(1-31)date.getTime();// 获取时间(从1970.1.1开始的毫秒数)date.getHours();// 获取小时数(0-23)date.getMinutes();// 获取分钟数(0-59)date.getSeconds();// 获取秒数(0-59)

b.数据库操作

$lt,$lte,$gt,$gte.分别对应: <,<=,>,>=. 该字段是用在condition中的.如果,你想要链式调用,则需要使用
lt,lte,ge,gte.
eg:
model.find({num:{$gt:12}},cb)
model.where(‘num’).gt(12).exec(cb)

User.find({age: {$gte:21, $lte:65}}, callback);//等价于:User.where('age').gte(21).lte(65).exec(callback);

三.闲言少叙,书归正传,

直接上代码,我就是这么简单粗暴!
varmid=mem[0].mid;  //mid是会员的id

tplData.mid=mid;

//获取今天的健康记录,有就返回没有就返回空的数组

vardate=newDate();

Y=date.getFullYear() +'-';

M= (date.getMonth()+1<10?'0'+(date.getMonth()+1) :date.getMonth()+1) +'-';

D=date.getDate() +' ';

varend=newDate(Y+M+D).getTime()//今天结束时的毫秒数

varstart=end-86400000//今天开始时的毫秒数

console.log("今天的毫秒数"+end)

//下面这个表示查询mid是mid的会员的开始时间到结束时间的数据,也就是该会员今天一天上传的数据

Healthrecord.find({mid:mid,timestamp:{$gte:start,$lte:end}},function(err,health){

console.log("从后台查询出来的数据"+health)

tplData.healthrecord=health;//赋值然后传输到前端

});

你可能感兴趣的:(node里面连接mongodb查询返回一天的数据(根据时间段查询))