繁体   English   中英

在Firebase中存储非用户数据的正确方法是什么?

[英]What is the proper way to store non-user data in Firebase?

我有一个Firebase应用程序,可以存储用户数据并提供静态数据。 我正在努力寻找一种安全的方法来存储此静态数据。

静态数据是用户将要学习的视频URL和其他信息的列表(预设数据)。 这些可以定期更改。

我的问题是,任何开发人员都可以通过单击按钮意外删除整个数据存储。

这是我想要的,但不确定如何完成:

  1. 我直接将静态数据写入Firebase
  2. 有数据的实时(应用程序)版本,开发(应用程序)版本和登台(应用程序)版本-实时文件应不可编辑
  3. 对登台进行正确测试后,我想将所有数据迁移到实时Firebase应用中以获取静态数据

我知道如何在Firebase之外完成此操作,但我真的很想在Firebase上构建我的整个后端。 有什么想法吗?

价格可以改变。 顺序可以更改,可以添加新课程,等等。

数据看起来像这样:

{
"slopes": {
"slopeiOS": {
  "featuredCourse": "k43l2l2-beginner-ios", 
  "courses": {
    "k43l2l2-beginner-ios": {
      "name": "Beginner iOS 1",
      "order": 12,
      "price": 250,
      "salePrice": 150,
      "onSale": true,
      "purchases": 12000,
      "totalMinutes": 102282,
      "videos": {
        "k23j3l": {
          "order": 22,
          "duration": 150,
          "title": "How to install Xcode",
          "description": "Learn how to install Xcode.."
        }
      }
    }
  }
}
 }
}

根据我对要执行的操作的了解,似乎您最关心的问题是开发人员意外删除了应用程序生产版本中的数据。

我不确定您要哪种类型的解决方案,因此有一些选择:

  1. 知道Firebase每天进行备份( 是否可以备份Firebase DB? ),可能会让您感到欣慰,因此,如果您最担心的是丢失数据,则可以解决很多问题。 您还可以通过API调用备份自己的数据: https : //www.firebase.com/docs/rest/api/

  2. 我能看到的最简单但最手动的方法是导出您的firebase开发数据,然后使用导入和导出按钮将其上传到应用程序的暂存和实时版本: Firebase导入和导出按钮

  3. 如果您正在寻找自动化程度更高的产品。 您必须自己编写一些代码,也许还要编写一个“管理员”门户。 登录后,该门户可以为您提供访问两个Firebase数据库的权限。 您创建了一个工具来比较三个数据库之间的json差异(可能在类的唯一ID上进行了较浅的搜索),并且可以将数据推送到您的暂存和实时版本的应用程序中。 尽管这可能是更“可扩展”的路线,但是在处理大型数据集时,所有这些都有其问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM