Хорошо, так что после долгих исследований, проб и ошибок у меня наконец есть решение, которое работает. Я надеюсь, что смогу помочь кому-нибудь, столкнувшемуся с той же проблемой, с этим решением:
void copy() async {
QuerySnapshot snaphsot = await _firestore
.collection('users')
.document(loggedinUser.uid)
.collection('Dates')
.document(yesterdayDate)
.collection(widget.reference)
.getDocuments();
for (var message in snaphsot.documents) {
final getitem = message.data['item'];
final getarchieved = message.data['archived'];
final getchecked = message.data['checked'];
if (getchecked == false && widget.reference == 'Todo') {
_firestore
.collection('users')
.document(loggedinUser.uid)
.collection('Dates')
.document(selectedDate)
.collection(widget.reference)
.add({
'item': getitem,
'archived': getarchieved,
'checked': getchecked
});
} else if (widget.reference == 'Goals') {
_firestore
.collection('users')
.document(loggedinUser.uid)
.collection('Dates')
.document(selectedDate)
.collection(widget.reference)
.add({'item': getitem, 'archived': getarchieved, 'checked': false});
}
}
}