如何动态创建Firebase Firestore Cloud Function查询?

时间:2017-11-21 18:02:50

标签: firebase firebase-realtime-database firebase-security google-cloud-firestore

我正在尝试动态生成查询。

我有一个很大的对象,比如位置和价格数据。但我从请求中获取了这些数据。如果每个查询事物都是一个链式函数,我该如何动态地使用该数据?

理想情况下,我想转换这样的东西......

<ion-item no-lines no-padding *ngFor="let company of shortedDistanceArray">
    <div>
        <img style="width: 15vh;height: 12vh;" src={{company.images}}" />
    </div>
</ion-item>

...到...

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

1 个答案:

答案 0 :(得分:3)

您不必将直接的所有内容相互链接。用于构建查询的构建器模式返回Query的实例,每次调用where()(以及其他过滤方法)。您编写的代码等同于:

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

您可以像这样继续使用query。因此,您应该能够在循环中或在符合您要求的任何内容中继续添加更多约束。