gpt4 book ai didi

firebase - Cloud Firestore 查询以获取文档 ID,Flutter

转载 作者:行者123 更新时间:2023-12-05 09:06:06 24 4
gpt4 key购买 nike

我开发了一个应用程序来提醒老年人他们的服药时间,并且知道我想让他们更新他们的药物并存储他们所做的任何更改。这是我更新药物名称的代码:

onPreesed: () async {
final updatedMedcName1 = await FirebaseFirestore.instance
.collection('medicine')
.doc(**????????**)
.update({'medicationName': updatedMedcName});
// Navigator.of(context).pop();
},

但我不知道如何获取文档 ID,如下所示:(红色下划线) enter image description here

对于字段medId我使用代码获得了 id:

FirebaseFirestore.instance.collection('medicine').doc().id,

但它和红色下划线的id不一样

最佳答案

为了在给定集合中查找特定文档,您有两种解决方案:

  1. 您知道它的 ID,但这不是您的情况;
  2. 你可以构建一个 query这将唯一标识文档。例如,在您的情况下,基于字段 userIdmedId 或任何其他字段或多个字段的组合。

根据您在问题中共享的信息,我们无法定义您应该运行哪个查询来查找所需的文档。如果您在问题中添加更多详细信息,可能会更准确地回答。

根据您的评论更新

首先需要通过查询得到文档,然后得到它的DocumentReference,然后更新它,如下:

QuerySnapshot querySnap = await FirebaseFirestore.instance.collection('medicine').where('userId', isEqualTo: user.uid).get();
QueryDocumentSnapshot doc = querySnap.docs[0]; // Assumption: the query returns only one document, THE doc you are looking for.
DocumentReference docRef = doc.reference;
await docRef.update(...);

关于firebase - Cloud Firestore 查询以获取文档 ID,Flutter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66410630/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com