为了账号安全,请及时绑定邮箱和手机立即绑定

如何在FireBase中写入非规范化数据

如何在FireBase中写入非规范化数据

森栏 2019-06-14 16:49:47
如何在FireBase中写入非规范化数据我读过Firebase的文档结构化数据..数据存储是便宜的,但用户的时间不是。我们应该优化GET操作,并在多个地方编写。所以我可以储存一个列单节点和列表索引节点,在这两个节点之间有一些重复的数据,至少列表名是这样的。我使用ES6并在我的javascript应用程序中承诺处理异步流,主要是在第一次数据推送后从Firebase获取一个参考键。let addIndexPromise = new Promise( (resolve, reject) => {     let newRef = ref.child('list-index').push(newItem);     resolve( newRef.key()); // ignore reject() for brevity});addIndexPromise.then( key => {    ref.child('list').child(key).set(newItem);  });我如何确保数据在所有地方都保持同步。知道我的应用程序只在客户端运行吗?为了进行正常检查,我在我的承诺中设置了一个setTimeout,并在它解决之前关闭了我的浏览器,实际上,我的数据库已经不一致了。在没有相应列表的情况下保存额外的索引.有什么建议吗?
查看完整描述

2 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

为了添加Franks的伟大答复,我实现了最终的一致性方法,使用了一组火基云函数..每当主值被触发时,这些函数就会被触发(例如。更改用户名称,然后将更改传播到非规范化字段。

它不像事务那样快,但在许多情况下,它不需要这样做。


查看完整回答
反对 回复 2019-06-14
  • 2 回答
  • 0 关注
  • 330 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信