首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Firebase中的草稿和发布

Firebase中的草稿和发布
EN

Stack Overflow用户
提问于 2014-06-02 10:47:56
回答 1查看 186关注 0票数 0

构建一个CMS,并尝试找出使用Firebase处理草稿的最佳方法。例如,站点管理员将编辑文档,这些文档将公开发布到站点。

起初,似乎完美的解决方案是将"public“属性设置为true,并通过如下安全规则强制执行它:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
  "rules": {
    "documents": {
      "$id": {
        ".read": "data.child('public').val() == true"
      }
    }
  }
}

(如此处所述:https://www.firebase.com/docs/security/rule-expressions/data.html)

但很明显,这个文档是有缺陷的,因为在这个例子中,我可以点击/documents,它会给我所有的文档,而不管'public‘==是真的。为了防止出现这种情况,您必须将其更改为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
  "rules": {
    "documents": {
      ".read": false,
      "$id": {
        ".read": "data.child('public').val() == true"
      }
    }
  }
}

理想情况下,我可以为/ documents /公开一个简单的REST API端点,它只返回所有公共文档及其所有子属性。

显然,Firebase不支持过滤(这本质上就是我试图通过说"SELECT * FROM document WHERE public = true“来实现的。

所以我看到了两个选择:

选项1:通过将文档草稿存储在不同的位置(如/draft/ document )来保持REST API端点的整洁。管理员可以创建和编辑具有自动保存功能的草稿文档,然后有一个“发布”按钮,当点击该按钮时,会将当前草稿复制到公共/documents。

选项2:不使用干净的REST API端点/documents,而使用/documentIndex,它只返回一个文档ids列表。然后,客户机必须遍历每个文档,以调用/ documentIndex /:id处的每个单独的文档端点。我担心这个选项的性能。这个选项似乎记录在这里:Firebase data normalized. How should I fetch a collection based on this structure?,但没有涵盖对REST API的影响。我使用的是AngularJS,但其他客户机可能希望以其他方式使用文档数据(这也是我希望通过REST API公开数据的原因)。

有什么想法?

EN

回答 1

Stack Overflow用户

发布于 2014-06-02 17:18:03

这两种方法都很好。当结构和排序经常改变或存在多种排序可能性时(例如,有时按日期排序,有时按排名排序的列表),索引更加灵活。额外的侦听器实际上对性能没有太大影响(通常不会比获取字节所需的时间多很多)。

在路径之间移动数据,一种队列或文件夹方法,可能会很好地满足您的需求,因为您已经强调了REST访问。如果与您的特定用例不同,您希望批量移动大量数据(几百兆),那么这将不是一个很好的方法,因为它需要将数据下载到客户端,然后再将其写回新路径。

如果您的目标是针对可能的其他客户端进行优化,那么您需要从确定这些客户端是什么以及它们将如何连接开始。纯粹基于可能性很难做出任何明智的决定。

在进行任何纯粹针对REST的优化之前,我首先尝试一下分析,看看它的性能如何。您可能会发现,对于您脑海中的用例,这已经足够了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23992696

复制
相关文章
firebase怎么用_firebase是什么
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/168361.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/20
4.2K0
firebase怎么用_firebase是什么
Google 的 Firebase 如何删除项目
https://www.ossez.com/t/google-firebase/13792
HoneyMoose
2021/11/02
3.2K0
Google 的 Firebase 如何删除项目
[ThinkPHP6.*安装 (草稿先发布,再维护)
ThinkPHP6.0的安装,官方文档中有详细的说明,不过在安装之前,大家还是要做一些准备的,就是PHP本地开发环境 的搭建。
landv
2019/08/20
1.2K0
https的过程 (草稿)
(1) client hello (2) server hello, certificate, key exchange (3) client exchange, cipher, ciper sepec (4) cipher, cipher sepec (5) conclusion TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256 (*) veryfy server certificate
用户3579639
2019/11/08
4000
flutter中多flavors方案以及添加firebase​
有想做海外市场的同学们,可能需要用到firebase。今天我们讲讲怎么使用「FlutterFire CLI」添加 firebase以及如何设置「flavors」
用户1974410
2022/09/20
9.9K0
flutter中多flavors方案以及添加firebase​
如何使用FirebaseExploiter扫描和发现Firebase数据库中的安全漏洞
FirebaseExploiter是一款针对Firebase数据库的安全漏洞扫描与发现工具,该工具专为漏洞Hunter和渗透测试人员设计,在该工具的帮助下, 广大研究人员可以轻松识别出Firebase数据库中存在的可利用的安全问题。
FB客服
2023/08/08
3970
如何使用FirebaseExploiter扫描和发现Firebase数据库中的安全漏洞
Firebase 如何创建登录 Token
Firebase 的 token 可以使用 firebase 命令行工具来进行创建。
HoneyMoose
2021/04/02
2.5K0
Firebase 如何创建登录 Token
Android Firebase 服务简介
Firebase初步了解 什么事Firebase? Firebase成立于2011年,在被Google收购之前,Firebase是一个协助开发者快速构建App,能够提供行动应用专用开发平台及SDK的一款产品,简单的说大概就是一套集成后台服务工具。早在2014年,谷歌收购了Firebase,这主要是一种面向应用程序开发人员的数据库。Firebase基本上向广大的应用程序开发人员提供不同的服务,比如存储、消息传递、通知和身份验证等服务。 在今年的I/O大会上,谷歌发表了新版的Firebase,新的Firebas
xiangzhihong
2018/02/05
22.8K0
Android  Firebase 服务简介
Redis中的发布订阅和事务
hello,小伙伴们好久不见!前面我们说了redis中的基本数据类型,本文我们来看看redis中的发布订阅和事务,因为这两个都比较简单,因此我放在一篇文章中来讲。
江南一点雨
2018/07/31
5560
Redis中的发布订阅和事务
与 FireBase 亲密接触
正常的 App 都是属于网络应用,数据都是从服务器上获取的。这就需要有专业的后台开发人员开发后台业务服务器,然后为我们 App 提供数据。自从云出现之后,各大云主机厂商提供了一个云服务 PAAS(Platform-as-a-Service的缩写),意思是平台即服务。PaaS是一个执行代码以及管理应用运行环境的开发平台,用户通过SVN或者Git之类的代码版本管理工具与平台交互。但这也是开发人员具备后台开发的能力。因此,
猴哥yuri
2018/08/16
16K0
我们弃用 Firebase 了
作者 | John Considine 译者 | 平川 策划 | 刘燕 我们已经在 Firebase 上发布了 10 几款应用程序,几乎用到了该平台每个方面的特性,并设计了一个可以实现优雅扩展的手册。可以说,事实已经证明,Firebase 对 K-Optional Software 而言是非常宝贵的工具。 就在 2022 年 3 月,我们的开发人员还在为 Firebase Extensions 等创新欢呼。遗憾的是,过去几个月的三个主要变化破坏了开发体验,因此,在新项目中,K-Optional 将
深度学习与Python
2023/03/29
32.7K0
我们弃用 Firebase 了
爬虫练习--草稿
简书的robots # See http://www.robotstxt.org/wc/norobots.html for documentation on how to use the robots.txt file # # To ban all spiders from the entire site uncomment the next two lines: User-agent: * Disallow: /search Disallow: /convos/ Disallow: /notes/ Dis
热心的社会主义接班人
2018/05/16
9450
做什么样的软件系列之Firebase
为什么要写这一篇? 做为一个iOS开发者我没有精力自己实现一套,登陆系统后台,广告系统后台,自己尝试写过身份认证系统,但是忘记密码之类的写的又丑又简陋。同时写后端和app又不能兼顾。
于欣轩
2018/05/25
4.4K0
Mac 下使用 Python+Selenium 实现西瓜视频自动上传及草稿发布
研究下 Python+Selenium 自动化测试框架,简单实现 Mac 下自动化批量上传视频西瓜视频并发布,分享给需要的同学(未做过多的异常处理)。
叨叨软件测试
2020/11/19
1.1K0
后端技能清单(草稿)
昨天也顺手整理了一下我所需要的后端技能清单。不过,由于我离非常有经验的后端开发者有点距离,希望大家可以给点意见哈。 入门 HTML / CSS 编程语言:Java / Python / PHP / Ruby等等 Web框架,如Spring MVC、Flask、Laravel等等 HTTP协议基础 CGI基础 中级篇 XML和JSON处理 数据结构与算法 面向对象编程 CMS API设计 高级篇 函数式编程 领域驱动设计 MVC架构 运行环境优化,如JVM 远程调试 工程化 版本管理 单元测试 依赖管理
Phodal
2018/01/29
1.3K0
Hexo -49- 草稿
Hexo 博文没写完,之后还得写,半成品不想发布,咋弄,使用 Hexo 的草稿 —— draft 布局
为为为什么
2023/07/05
3050
Confluence 6 配置草稿保存的时间 原
这个设置仅仅应用到 Confluence 6.0 及后续版本中,如果你选择 禁用(disable )collaborative editing。
HoneyMoose
2019/01/30
6270
机器学习中的数学,这是一份新鲜出炉的热门草稿
作者:Marc Peter Deisenroth、A Aldo Faisal、Cheng Soon Ong
机器之心
2018/10/22
4580
机器学习中的数学,这是一份新鲜出炉的热门草稿
如何将你的Hexo博客部署到Google Firebase上
博主最近在 白嫖万恶的资本 将博客部署到新的CDN上,所以在寻找免费的静态Web应用部署工具,发现了Google Firebase。
pai233
2022/04/26
1.3K0
如何将你的Hexo博客部署到Google Firebase上
点击加载更多

相似问题

Django中的发布和保存草稿功能

113

Wordpress -发布状态-发布与草稿

10

Rails 5.模型的草稿和发布版本

14

批量发布WordPress草稿页

17

使用Blogdown发布草稿的清晰性

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文