Я не понимаю, почему у меня 504 тайм-аута шлюза.
app.get("/api/exercise/log", function(req,res) {
let userId = req.query.userId;
let from = req.query.from;
let to = req.query.to;
let limit = req.query.limit;
console.log("limit1 " + limit);
User.findById(userId).exec(function (err,data) {
console.log("limit2 " + limit);
if (err) return err;
Exercise.find({userId: userId}).limit(limit).exec(function (err2,data2) {
console.log("limit3 " + limit);
if (err2) return err2;
let logArr = [];
logArr.push(data2);
let total = logArr[0].length;
let answer = Object.assign({}, data._doc, {log: logArr}, {total: total});
res.json(answer);
})
})
})
Мой URL заканчивается логом? UserId = 555 & limit = 2. Все журналы консоли (limit1, limit2, limit3) выводят «2», как и положено, однако я не получаю никаких результатов, только тайм-ауты. Если я изменю эту строку, чтобы ввести предел вручную, например
Exercise.find({userId: userId}).limit(2).exec(function (err2,data2) {
все работает, и я получаю правильное количество результатов. О чем это все?