【问题标题】:Firebase order query $UIDs by value at a different nodeFirebase 订单在不同节点按值查询 $UID
【发布时间】:2017-05-19 17:30:48
【问题描述】:

我无法弄清楚如何根据需要获取要查询的列表。完全披露,这可能是不可能的,如果是这样的话,那么至少它会给我一些关闭。我想根据状态查询朋友的列表,其中活跃的朋友在顶部被查询。

这是我的数据库结构:

friendships 
   $UID
      $UID: true

users
  $UID
    active:true/false

我需要列表保持同步,所以我需要使用.on('value')。我已经尝试了几种不同的方法,使用child_added 以及使用snapshot.forEach() 迭代snapshot 并将childSnapshot key:value 对推入一个数组,这样我就可以使用lodash 通过@ 对列表进行排序987654328@ 键在客户端,但遇到了将“新”项推入数组的问题,每个active 值更改,因此任何给定用户都会有多个项。

任何帮助或见解将不胜感激,昨天大部分时间都在尝试解决这个问题,然后再使用以下代码返回到一个无组织的列表:

const {currentUser} = firebase.auth();
firebase.database().ref(`/friendships/${currentUser.uid}`).on('value, snapshot => { //redux dispatch action, payload: snapshot.val() })

【问题讨论】:

    标签: javascript firebase react-native firebase-realtime-database


    【解决方案1】:

    对此没有很好的解决方案。 Firebase 没有任何形式的加入或加入查询,因此您可以使用usersRef.orderByChild('active').equalTo(true),但这只会返回所有活跃用户。您需要进行单独的查询才能拉近他们的友谊。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-16
      • 1970-01-01
      • 2017-08-09
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多