如何按日期按日期显示计数数据。
我们有广告位
[{'startTime':“2017-04-20T08:30:00.000Z”, 'endTime':“2017-04-20T09:30:00.000Z”},
{'startTime':“2017-04-20T09:30:00.000Z”, 'endTime':“2017-04-20T10:30:00.000Z”},
{'startTime':“2017-04-20T10:30:00.000Z”, 'endTime':“2017-04-20T18:30:00.000Z”}]
输入
[{
"createdAt" : ISODate("2017-04-20T09:20:00.167Z"),
},
{
"createdAt" : ISODate("2017-04-20T14:20:00.167Z")
},
{
"createdAt" : ISODate("2017-04-20T11:20:00.167Z")
},
{
"createdAt" : ISODate("2017-04-20T14:20:00.167Z")
},
{
"createdAt" : ISODate("2017-04-20T12:20:00.167Z")
}]
以此格式显示数据
输出
[{'startTime':“2017-04-20T08:30:00.000Z”, 'endTime':“2017-04-20T09:30:00.000Z”, 'count':1},
{'startTime':“2017-04-20T09:30:00.000Z”, 'endTime':“2017-04-20T10:30:00.000Z”, 'count':0},
{'startTime':“2017-04-20T10:30:00.000Z”, 'endTime':“2017-04-20T18:30:00.000Z”}, '数':4]
答案 0 :(得分:1)
exec('python /var/pi/www/html/Currenttestpy.py', $out, $status);
echo 'Status : ' . $status . '.' ;
答案 1 :(得分:0)
您可以使用MongoDB的$gte
(大于或等于),$lte
(小于或等于),$gt
(大于)
和$lt
(小于)指定日期范围。您可以指定"来自" $gte/$gt
中的日期和"至"日期$lte/$lt
。
所以你的查询应该是这样的 -
db.collection.count({createdAt: {$gte: "your from date in ISO date object format", $lte: "your to date in ISO date object format"}}, function (err, count){
//whatever you wanna do with count
})
或
db.collection.find({createdAt: {$gte: "your from date in ISO date object format", $lte: "your to date in ISO date object format"}}).count(function (err, count){
//whatever you wanna do with count
})
对于每个时隙,您必须在循环中运行它。所以就像一个例子,它看起来像 -
db.collection.find({createdAt: {$gte: timeRangeArr[i].startTime, $lte: timeRangeArr[i].endTime}}).count(function (err, count){
//whatever you wanna do with count
})