【问题标题】:generate firebase queryfn from array with AngularFirestore in angular [closed]使用AngularFirestore从数组生成firebase queryfn [关闭]
【发布时间】:2020-11-09 09:40:23
【问题描述】:

我想使用带有 queryfn 的 AngularFirestore(包 @angular/fire/firestore)从 Firebase 获取数据。但我找不到任何教程

这是我尝试过的代码,但无法从 firebase 过滤数据

getFirebaseData(collection:any):Observable<any>{
      let filter:any[] = [
          {field:field1, operator:"==", value:"value1"},
          {field:field2, operator:"==", value:"value2"}]

      return this.firestore.collection(collection, 
             ref=>{
               
               filter.map{fltr=>{
                  return ref.where(fltr.field, fltr.operator, fltr.value)
               }
               return ref
            }).snapshotChanges()

      
}

那么,我如何从数组中过滤 firebase 数据

我试图找到解决方案,但没有找到任何东西,我很乐意提供任何帮助。

【问题讨论】:

    标签: angular firebase google-cloud-firestore


    【解决方案1】:

    Here 在 AngularFire 存储库中有一些示例。在Firebase documentation 上解释了如何进行复合查询。

    在这里我添加一个关于集合的复合查询的快速示例:

            afs.collection('<CollectionID>', ref => {
              let query : firebase.firestore.CollectionReference | firebase.firestore.Query = ref;
              { query = query.where('field1', '==', value1) };
              { query = query.where('field2', '==', value2) };
              return query;
            }).valueChanges()
    

    【讨论】:

    • 感谢您的回答,但是当我尝试它时,我得到了 FirebaseError: The query requires an index
    • 但我尝试其他数据字段,正在工作,我认为错误来自 firebase...,感谢@soni 的帮助
    猜你喜欢
    • 2014-06-29
    • 1970-01-01
    • 2018-05-23
    • 2018-11-08
    • 2010-10-10
    • 2014-10-28
    • 2016-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多