У меня есть firestore
база данных, которая выглядит следующим образом
/entries/ ....
/users/{userid}...
, куча документов отправляется в ... записей, а userid
содержит 8 документов с информацией о профиле пользователя.
Моя проблема в том, что документ записей содержит часы поля и не имеет отношения к документу пользователя, который содержит поле weekly_capacity
Мне нужно объединить эти два поля часов / еженедельно, устанавливая ихв переменную эквивалентности на полный рабочий день
Но эквивалентность на полный рабочий день должна быть точной, и этот FTE компании может измениться, поэтому ему нужно будет рассчитать FTE за различные даты, даже если пользователь изменил свой статус FTE x числораз.
А текущее приложение извлекало записи только при входе пользователя в приложение, что может происходить всегда.
Ни один из запросов API, которые я использую, не даст мне json, которыйсодержит и weekly_capacity, и часы для одной и той же выборки.Если каждый раз, когда пользователь входит в систему, приложение firestore вызывает http для получения всех записей, то как сравнить поле hours
в записях коллекции с полем weekly_capacity
Просто небольшой контекст: FTE =Эквивалентность на полный рабочий день и используется для измерения в качестве стандарта, чтобы увидеть, сравнивает ли сотрудник те базовые часы коммитов, на которые они подписаны, и которые составляют 40. Поэтому, если бы я согласился работать 40, а я работаю на самом деле 40 часов, тогда я был бы 1
всего FTE.Если я работал 20, и я предполагаю, что работать 40, я 0,5 FTE.Математика очень проста, просто в моей ситуации переменная FTE может измениться в любое время, и приложение позволит пользователю ввести диапазон дат, извлекающих общее количество фактически отработанных часов, и FTE, сообщая им, сколько часов они должны былиработа против того, сколько часов они фактически работали.Поскольку переменные меняются, мне нужен какой-то способ в firestore, чтобы отслеживать изменения и правильно агрегировать по фактически отработанным часам.В качестве примера ошибки: допустим, я изменил свой FTE с 1 на 0,7 марта 20 марта, затем я хочу сгенерировать отчет с 1 по 30 марта, в котором будет указано, что мои рабочие часы и значение статуса FTE означают, что я достиг своей цели.Кикер в том, что я не могу получить или объединить записи, которые содержат переменную hours
и /users/
, которые содержат переменную weekly_capacity
.
Я даже не думаю, что облачная функция решит проблему, поскольку записи выбираются только тогда, когда пользователь входит в систему, верно?