访问子集合时,应该使用如下代码:
.dataTaskPublisher
或者这个:
.decode(...)
?
我首选第一种样式。它们转换为相同的I / O吗?
答案 0 :(得分:1)
结果没有差异。
实际上,您甚至可以将第二个缩短为:
DocumentSnapshot userSnapshot = await Firestore.instance
.document('users/$userId/shoppingLists/$listName')
.get();
答案 1 :(得分:1)
来自 Documentation:
Cloud Firestore中的每个文档或集合都由其在数据库中的位置唯一标识,您可以创建指向它的引用。为了方便起见,要访问Cloud Firestore分层数据模型,您可以通过将文档或集合的路径指定为字符串(路径组件之间用正斜杠(/)分隔)来创建引用。
因此,您可以选择使用先前发布的两种方法中的任一种,也可以按照@AndreyGordeev的建议将其进一步缩短。真的取决于你。