Actualicé AngularFire a 7 y tengo un problema al usar .where con collectionReference. Así que simplemente... ¿cómo usarlo correctamente?
Traté de usar 'colección' de '@angular/fire/firestore' como:
const ref = collection(this.firestore, 'collectionName');pero el árbitro no tiene 'dónde' o algo así.
Sé que '@angular/fire/firestore' también tiene 'consulta' y 'dónde', pero no sé cómo usarlo.
¿Cómo encontrar documentos en la colección usando 'dónde' con una nueva API?
AngularFire 7.0 se basa en el nuevo Firebase JS SDK v9 que se puede sacudir en árbol, por lo que debe hacer lo siguiente (no probado):
const ref = collection(this.firestore, 'collectionName'); const q = query(ref, where("...", "==", "..."));Consulte el documento aquí (pestaña "Web versión 9").
AngularFire tiene la sintaxis de Firebase JS SKD v9, usando sus propios objetos:
import {collection, collectionData, Firestore, query, where} from '@angular/fire/firestore'; export class FooClass { constructor(private firestore: Firestore){ const ref = collection(firestore, 'collectionName'); const q = query(ref, where('ids', 'array-contains', id)); const res$ = collectionData(q); }Me las arreglé para resolver esto...
para el uso de declaraciones únicas where
const refq = query(ref,where('dir','==','T'))para múltiples sentencias where usan
const wa:QueryConstraint[] = [where('dir','==','T'),where('day','==',23)] const refq = query(ref,...wa)para obtener los resultados utiliza
collectionData(refq).subscribe()