我想从Firebase的子集合中获取特定数据,并将其仅复制一次(这样就没有流)到另一个集合。如何修复代码以使其正常工作?可能我需要使用getDocuments()进行一些更改,但是我不知道如何进行这项工作。谢谢你的帮助。
<div class="container">
<header>
<nav>
<p>1</p>
<p>2</p>
<p>3</p>
</nav>
</header>
<div class="square"></div>
</div>
答案 0 :(得分:1)
好吧,经过大量的研究和反复试验后,我终于有了一个可行的解决方案。我希望我可以通过以下解决方案帮助遇到相同问题的人:
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});
}
}
}