我正在学习颤振并创建我的第一个移动应用程序。在这个过程中,我从你们中的许多人那里学到了很多东西。
我有一个新问题。我的应用在 Firestore 的某个集合中有多个文档。我想从一个文档中访问数据,但我不知道文档名称。当我不知道文档名称时,如何在颤振中访问文档?
我正在学习颤振并创建我的第一个移动应用程序。在这个过程中,我从你们中的许多人那里学到了很多东西。
我有一个新问题。我的应用在 Firestore 的某个集合中有多个文档。我想从一个文档中访问数据,但我不知道文档名称。当我不知道文档名称时,如何在颤振中访问文档?
您不需要文档名称来访问文档,但文档必须具有唯一字段,以便您可以过滤出集合并访问该文档。
final firestore = FirebaseFirestore.instance
final query = firestore.collection('myCollection').where('uniqueField', isEqualTo: uniqueValue);
final docs = (await query.get()).docs;
final document = docs.first.data();
请注意,最后一行代码假定您确定只有一个文档。如果不是这种情况,您必须检查文档的长度并在此之后进行额外检查以过滤掉文档并找到您的文档。
此外,如果您最终在颤振端过滤文档并且您不确定将返回多少文档,那么通过在查询末尾添加额外的where过滤器和使用limit方法来限制查询将是一个好主意.
您不会查询 DocumentReferences(一个文档);您从 CollectionReferences(文档集)中查询。DocumentSnapshot 只是一个文档。我不使用颤振(还;给我一两个星期),所以我无法帮助您解决代码语法。