Estoy saltando entre angularfire, rxfire y firebase-sdk docs y no puedo encontrar una respuesta.
Con la versión 8 de la API firebase-sdk, simplemente podía consultar RTDB y obtener el resultado de mi consulta (no un montón de cambios instantáneos). ¿Cómo puedo hacer eso con la nueva API?
No pude encontrarlo en ninguno de esos documentos. ¿Es posible a través de angularfire? ¿rxfire? firebase-sdk?
Estoy tratando de vincular un ngFor al resultado de mi consulta. No quiero tener que manejar manualmente child_added, child_removed, child_changed, etc.
La documentación para angular/fire 7 aún está en gran parte incompleta, lo que puede ser frustrante al intentar construir un proyecto con él. Para obtener una lista de nodos de RTDB y mostrarla con un bucle ngFor , puede hacer lo siguiente
importaciones:
import {Database, listVal, ref} from "@angular/fire/database";declarar observable:
rtdb: Observable<any[] | null> | undefined;constructor:
constructor(private database: Database) {}función para devolver los datos:
async getNodeList() { const nodeRef = ref(this.database, 'path/to/node/list'); this.rtdb = listVal(nodeRef); this.rtdb.subscribe(data => { console.log(data); }); }su plantilla HTML:
<ng-container *ngFor="let item of rtdb | async"> {{ item| json }} </ng-container>