【问题标题】:How to store only valid data in Firestore如何在 Firestore 中仅存储有效数据
【发布时间】:2020-06-06 23:08:25
【问题描述】:

我正在构建一个使用 Firestore 作为数据库(和 Angular v9.)的时间表系统。我需要一种仅在数据库中存储有效数据的方法。

我意识到,使用 Firestore 规则,我可以设置规则以向用户提供读取或写入权限。但是如何检查存储的值是正确的还是有效的?例如,在我的情况下,检查插槽是否已分配。这样在添加新插槽时,它不会重叠...

我需要服务器、代理或云功能吗?还是可以直接在 Firestore 中使用?还是仅在前端执行验证?我相信在前端检查数据将是最糟糕的方法......

【问题讨论】:

    标签: firebase google-cloud-firestore google-cloud-functions


    【解决方案1】:

    如果您尝试执行的验证无法在安全规则中完成,那么您需要提供自己的后端公开 API 以供您的应用使用。它不会将数据直接添加到数据库中,而是将文档数据发送给后端进行验证和添加。您当然可以为此使用 Cloud Functions(完整的讨论超出了 Stack Overflow 答案的范围),但您在这里基本上有无限的选择。

    【讨论】:

    • 嗯...好吧...我已经尝试搜索好几天了,是否缺少某些允许我验证数据的部分...似乎我必须编写我自己的后端...谢谢!
    • 安全规则中有大量数据验证需要完成。例如,您可以确保一个值是一个整数,并且在某些边界值内。您只是无法完成使用普通代码可以完成的所有事情,而且您无法访问很多资源。
    • 另外,我无法讨论应用程序的细节,但您会建议使用云功能或无服务器架构而不是服务器吗?主要目标是可扩展性和灵活性。该应用程序可能会因分析等而变得相当复杂。
    • 我建议研究满足您特定需求的选项。没有一种解决方案适用于所有人。 Stack Overflow 不是就产品选择征求意见的地方。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-26
    • 2021-08-11
    • 2019-03-22
    • 1970-01-01
    • 1970-01-01
    • 2011-04-19
    • 1970-01-01
    相关资源
    最近更新 更多