我正在使用Firebase实时数据库的有序查询。我在查询中有一个.childMoved侦听器,当有人列表中的某个索引发生更改时,我的侦听器会被触发。然而,似乎并不知道对象的新索引是什么。
rtdb.child(refString).queryOrdered(byChild: "queuePosition")
.observe(.childMoved, with: { snapshot in
// Do something here with snapshot data
}) { error in
// error
}
如何找出对象应移动到的位置?或者我应该在客户端进行排序?谢谢!
答案 0 :(得分:0)
Firebase数据库不会公开索引,因为这些索引在多用户环境中无法很好地扩展。它可以选择使用observe: andPreviousSiblingKey
传递节点的上一个兄弟的密钥。
使用此键,您可以查找兄弟节点,然后移动子节点。