Я отправляю данные в Firestore на частоте 33 Гц.Это означает, что со временем сохраняется много данных.
Мне нужно иметь возможность загрузить эти данные.Для этого я создал функцию Http в firebase, которая получает пользовательский uid, серийный номер устройства, дату / время начала и дату / время окончания.Затем функция проверяет, существует ли пользователь, а также имеет ли он этот серийный номер.Затем он запрашивает Firestore и добавляет данные в объект JSON, который в конечном итоге отправляется в качестве ответа.
Но, в зависимости от того, как долго был выполнен запрос, тайм-аут функции.Это работает в течение коротких периодов.
Как мне сделать, чтобы сделать функцию быстрее?Я использую не тот инструмент?
[...]
const nD1 = db.collection('grind-bit').doc(req.query.serial).collection('history').where('date', '>=', startdate).where('date', '<=', enddate).get().then(snapshot => {
snapshot.forEach(doc => {
elem = {};
elem.date = doc.data().date;
elem.rms0 = doc.data().rms0;
elem.rms1 = doc.data().rms1;
elem.rms2 = doc.data().rms2;
data[key].push(elem);
});
if(data[key].length) {
let csv = json2csv(data[key]);
csv = JSON.stringify(csv);
res.set("Content-Type", "text/csv");
return promises.push(res.status(200).send(csv));
} else {
return promises.push(res.status(401).send('No data has been found in this interval.'));
}
[...]