如何在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,并在它解决之前关闭了我的浏览器,实际上,我的数据库已经不一致了。在没有相应列表的情况下保存额外的索引.
有什么建议吗?