Firebase实时数据库-通过子键进行搜索

时间:2019-09-06 22:38:26

标签: javascript firebase firebase-realtime-database

我希望在Key等于用户ID的Firebase实时数据库中收集所有“联系人”。我的数据库结构如下所示。

Database structure

我的代码,用于提取所有密钥与“ 4QEg0TWDbESiMX8Cu8cvUCm17so2”匹配的节点。

dbRoot.child('contacts')
    .orderByKey()
    .equalTo(userId)
    .once('value', (contactSnapshot) => {
      contactSnapshot.forEach((contact)=>{
        const contactData = contact.val()
        //Do not process the user node
        const isContact = (('alias' in contactData)) //Only contact node has 'alias' node - users node has contactId (-AHSTl1e2VdhXakBdSkTieyEVaDnt2) nodes
        if(isContact){
          //Do the work!
        }
      })
    })

问题在于代码仅返回节点

  

“联系人/ 4QEg0TWDbESiMX8Cu8cvUCm17so2

我实际上也希望收集节点

  

“联系人/ mUO3DtYY2yRw3zkv4EmTlfldB3S2 / 4QEg0TWDbESiMX8Cu8cvUCm17so2

进行处理。

如何查询数据库以收集两个节点?

0 个答案:

没有答案