0

Ich versuche, Abfragen dynamisch zu generieren.Wie kann ich Firebase Firestore Cloud Function-Abfragen dynamisch erstellen?

Ich habe ein großes Objekt von Dingen wie Ort und Preisdaten. Aber ich bekomme diese Daten von der Anfrage. Wie kann ich diese Daten dynamisch verwenden, wenn jede Abfrage eine verkettete Funktion ist?

Im Idealfall würde Ich mag so etwas konvertieren ...

const wheres = [ 
    { key: 'price', operator: '>=', value: '1000' }, 
    { key: 'price', operator: '<=', value: '2000' } 
] 

... bis ...

admin 
     .firestore() 
     .collection(`rentals`) 
     .where(`price`, `>=`, `1000`) 
     .where(`price`, `<=`, `2000`) 

Antwort

1

Sie haben noch zu Kette alles direkt mit gegenseitig. Das Builder-Muster, das zum Erstellen der Abfrage verwendet wird, gibt eine Instanz von Query mit jedem Aufruf an where() (und andere Filtermethoden) zurück. Der Code, den Sie geschrieben entspricht dies:

const collection = admin.firestore().collection('rentals') 
var query = collection.where('price', '>=', '1000') 
query = query.where('price', '<=', '2000') 

Sie halten mit query arbeiten so viel wie Sie so wollen. Sie sollten also in der Lage sein, weitere Beschränkungen in einer Schleife anzuhängen oder was auch immer Ihren Anforderungen entspricht.

Verwandte Themen