Браво только на обучении.
Я не уверен, какие повторяющиеся задачи вы имеете в виду, но основываясь на том, что я могу почерпнуть из остальной части вашего поста, я не думаю, что ваша модельчто-то, на что вы будете рассчитывать, когда захотите добавить больше функций позже.
Я бы вместо этого использовал структуру, которая намного проще и позволяет легко запрашивать.Примерно так:
Todos
--> Todo1
-----> Date: Timestamp
-----> Complete: true
-----> UID: 12345
---> Todo2
-----> Date: Timestamp
-----> Complete: false
-----> UID: 67890
Запрос к простой структуре, подобной этой, будет таким простым:
"Все задачи по 67890"
Или
«Все задачи на 67890 на сегодня»
или
«Все неполные задачи для пользователя 12345, где дата> вчера»
Для дат можно просто сохранить время, такое, чтоВы можете искать любые результаты в диапазоне, а чтобы сделать день, вы просто делаете полночь до полуночи.Например, все сообщения с 12:00 пн.до 12:00 вт.