Функция агрегирования MongoDB занимает много времени, т. Е. Минуты, для выполнения операции внутри функции. Мне нужно выполнить этот запрос как можно быстрее. пожалуйста, дайте ваше предложение. Я, кто-то дает мне хорошее решение, я буду очень благодарен.
exports.finddate = (req, res) => {
var a=req.query.osm_start_node_id;
var b= req.query.osm_end_node_id;
var num=parseInt(a);
var num1=parseInt(b);
console.log(a);
var date1=req.query.utc_timestamp;
console.log(date1);
speeddata.aggregate([{ $sort: {"properties.osm_start_node_id":1,_id:1} },
{ $match:{'osm_start_node_id': num,'osm_end_node_id':num1,'utc_timestamp':{$gte:date1[0],$lte:date1[1]}}},
{$group:{_id: {
day: { $dayOfWeek:{ $dateFromString: {
dateString: "$utc_timestamp"
} } }},
meanspeed:{$avg:{$round:["$speed_mph_mean",0]}}}}
]).allowDiskUse(true)
.then(stable => {
if(!stable) {
return res.status(404).send({
message: "record not found " + req.query.osm_start_node_id
});
}
res.send(stable);
console.log(stable);
}).catch(err => {
if(err.kind === 'osm_start_node_id') {
return res.status(404).send({
message: "record not found " + req.query.osm_start_node_id
});
}
return res.status(500).send({
message: "something wrong with name " + req.query.osm_start_node_id
});
});
};