Fel*_*lix 0 firebase flutter google-cloud-firestore
我想从 Firebase 中的子集合中获取特定数据,并将其仅复制一次(因此没有流)到另一个集合。我该如何修复代码才能使其正常工作?也许我需要使用 getDocuments() 进行一些更改,但我不知道如何进行这项工作。感谢您的帮助。
void copy() async {
await _firestore
.collection('users')
.document(loggedinUser.uid)
.collection('Dates')
.document(yesterdayDate)
.collection(widget.reference)
.getDocuments().then((QuerySnapshot snapshot) {snapshot.documents.forEach((message) {
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
});
}
}
}
Run Code Online (Sandbox Code Playgroud)
好吧,经过大量的研究和反复试验,我终于找到了一个可行的解决方案。我希望我可以帮助遇到同样问题的人使用此解决方案:
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});
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2733 次 |
| 最近记录: |