如何动态创建Firebase Firestore云功能查询



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

我有一个诸如位置和价格数据之类的重要对象。但是我从请求中获取数据。如果每个查询内容都是链接的功能,我该如何动态使用该数据?

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

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

... to ...

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

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

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

您可以随心所欲地继续使用query。因此,您应该能够在循环或任何适合您的要求的循环中继续增加它的约束。

最新更新