我想在js脚本中使用如下变量来检索在特定日期处理的行。 我尝试定义" obj_start_date"和" obj_end_date"但是我无法在请求中使用该值....
我已经尝试在论坛中找到一种方法,但对我来说没有任何作用...如果你能帮助我,请提前感谢:)
var result = 0;
var obj_start_date = {};
var start_date = "2016-01-04 00:00:00";
obj_start_date[start_date]=1;
var obj_end_date = {};
var end_date = "2016-01-04 23:59:59";
obj_end_date[end_date]=1;
var linkNames = db.lines.find({$and:[{'type':{$in:['mobile','voip']}},{'process_time':{$gte:obj_start_date}},{'process_time':{$lte:obj_end_date}}]}).map(function(doc){
result = result + parseFloat(doc.duration);
});
print( result+ "\r\n");
答案 0 :(得分:2)
如果字段public_profile
是mongo日期,您可以简单地构造要在查询中使用的正确日期对象:
process_time
或使用 aggregation framework :
var result = 0,
start_date = new Date("2016-01-04 00:00:00"),
end_date = new Date("2016-01-04 23:59:59");
db.lines.find({
"type": {
"$in": ['mobile','voip']
},
"process_time": {
"$gte": start_date,
"$lte": end_date
}
}).forEach(function(doc){
result = result + parseFloat(doc.duration);
});
print( result+ "\r\n" );