如何在.childMoved上获取新对象的索引

时间:2018-06-02 09:40:43

标签: swift firebase firebase-realtime-database

我正在使用Firebase实时数据库的有序查询。我在查询中有一个.childMoved侦听器,当有人列表中的某个索引发生更改时,我的侦听器会被触发。然而,似乎并不知道对象的新索引是什么。

rtdb.child(refString).queryOrdered(byChild: "queuePosition")
     .observe(.childMoved, with: { snapshot in
         // Do something here with snapshot data
    }) { error in
        // error
    }

如何找出对象应移动到的位置?或者我应该在客户端进行排序?谢谢!

1 个答案:

答案 0 :(得分:0)

Firebase数据库不会公开索引,因为这些索引在多用户环境中无法很好地扩展。它可以选择使用observe: andPreviousSiblingKey传递节点的上一个兄弟的密钥。

使用此键,您可以查找兄弟节点,然后移动子节点。