隔离和管理集合CRUD由已登录的用户-Firebase和Flutter完成



我是Firebase的新手,我只需要弄清楚Firebase DB的整体工作方式。

假设我有不同的收藏

  • 用户
  • 客户
  • 项目
  • 交易

对于上面的每一个,我都在我的flutter应用程序中创建了一个模型类,每个类都有相应的字段。我的应用程序设置了FirebaseAuth,用于处理登录、注销、注册。。。

Firebase如何知道哪些客户和项目属于currentUser((?它是否自动存储currentUser((uid并将其与该用户完成的每个CRUD数据匹配,或者我是否必须手动将当前用户的uid作为字段包含在我的每个模型类中,如下面的示例所示?

此外,假设这些集合/模型相互依赖,例如,一个用户可能有很多客户,客户的购物清单中可能有很多商品,许多Sales可能属于一个客户。在飞镖/飞镖中表现这一点的最佳方式是什么?

例如,这是我的销售类

class Sales {
String id;
String totalAmount;
Customer customerId;
Items items;
Timestamp createdAt;
}

谢谢。

Firestore不知道数据属于哪个Firebase Authentication用户。如果您需要这些信息,您必须通过在文档中添加相关字段来自行存储。

如果要强制执行这些关系,则需要将它们存储在DocumentReference字段中,然后使用安全规则来确保满足有关关系的规则。