在Firestore中连接Auth用户数据和采集(带Flutter)

noj0wjuj  于 2023-04-13  发布在  Flutter
关注(0)|答案(1)|浏览(99)

我使用过flutter和firebase的phone Auth,我完成了登录并插入了用户信息(idphonedisplayName),所有这些信息都存在于Auth中,而不需要在Firestore中创建一个集合。
现在我在Firestore中创建了一个任务集合,因此每个用户都应该有很多任务。
如何在身份验证中的用户和Firestore中的任务集合之间建立连接?
我可以在不创建用户集合和使用来自auth的用户的情况下创建它吗?

onPressed: () {
   if(taskTitleInputController.text.isNotEmpty && taskDescripInputController.text.isNotEmpty) {
     Firestore.instance.collection("users").document(widget.uid).collection("tasks")
    .add({
      'title' : taskTitleInputController.text,
      'desc' : taskDescripInputController.text
      ).then((result)=>Navigator.pop(context));
    }
 })
k4emjkb1

k4emjkb11#

您共享的代码表明您有一个数据模型,在该模型中,您将用户的任务存储在该用户文档下的子集合中。这是对此类数据建模的有效且常用的方法。
另一种方法是使用一个全局任务列表,即一个顶级tasks集合。在这种情况下,您需要在每个任务文档中存储拥有该任务的用户的UID。
这两种模型都是有效的和通用的,没有一个比另一个更好。与NoSQL数据库一样,正确的模型取决于您特定应用的用例,并且您可能必须在发现/添加更多用例时调整数据模型。

相关问题