Como gravar dados não normalizados no Firebase
Eu li os documentos do Firebase emDados de Estruturação. O armazenamento de dados é barato, mas o tempo do usuário não é. Devemos otimizar para obter operações e escrever em vários locais.
Então eu posso armazenar umLista nó e umíndice de lista nó, com alguns dados duplicados entre os dois, pelo menos o nome da lista.
Estou usando o ES6 e prometo no meu aplicativo javascript para lidar com o fluxo assíncrono, principalmente de buscar uma chave ref da base de firmas após o primeiro envio de dados.
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);
});
Como garantir que oos dados permanecem sincronizados em todos os lugares, sabendo que meu aplicativo é executado apenas no cliente?
Para verificação de sanidade, defini um setTimeout em minha promessa e fechei o navegador antes que ele resolvesse, e meu banco de dados não era mais consistente, com umíndice extra salvo sem uma lista correspondente.
Algum conselho?