我一直试图将一个子集合的文档快照放入列表中。它的代码是这样的:-
ALLOCATIONASSETTYPE != 'Cash'
有两个配置文件,其中只有一个具有子集合getcoffeebuyerlist() async {
DocumentSnapshot coffeebuyers;
List<DocumentSnapshot> finalCoffeBuyerList = [];
for (var i = 0; i < profiles.length; i++) {
coffeebuyers = await Firestore.instance
.collection('profileData')
.document(profiles[i].uid)
.collection('coffeeprices')
.document(profiles[i].uid)
.get();
finalCoffeBuyerList.add(coffeebuyers);
}
return finalCoffeBuyerList;
}
。
我在这里的疑问是,尝试获取子集合的快照,我是否会自动为第二个配置文件创建一个空文档,而第二个配置文件不存在该子集合,并将其放入'coffeeprices'
列表中?
还是仅将那些已经存在的(在我的情况下为一个)子集合添加到此列表中?
答案 0 :(得分:0)
您在此处的代码将永远不会创建任何文档。如果文档不存在,那么get()
不会创建文档。您应该检查返回的DocumentSnapshot,以查看文档是否实际为exists。像这样:
if (coffeebuyers.exists) {
finalCoffeBuyerList.add(coffeebuyers);
}
创建文档的唯一方法是使用add()
或set()
。