tob*_*bbe 2 firebase firebase-realtime-database google-cloud-firestore
如何实现 Firestore 以便用户可以对数组中的项目进行排序并同步排序顺序?例如,在待办事项列表中订购项目。
我可以想出两种选择。但他们感觉不是好主意..
在指定索引处插入项目。但我不确定如何或是否可以使用 Firestore 做到这一点?
每次添加新项目或“移动”项目时,都会将新的 sortKey 值映射到每个项目,然后更新所有项目。我也许可以用 .batch 做到这一点,但感觉效率超级低?
一定会有更好的办法!
使用 firebase 实时数据库更容易吗?
我建议在文档中设置一个position
字段,将其设置为浮点值。通过按位置排序的查询来收听集合。然后:
lastItem.position + 100
position
为(prev.position + next.position) / 2.0
firstItem.position / 2.0
这样您就可以连续地重新排序项目,而不必进行批量写入。让我们看一个例子:
A: 100 C: 50 C: 50
B: 200 A: 100 -> move below B B: 200
C: 300 -> move to top B: 200 A: 300
D: 400 D: 400 D: 400
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
187 次 |
最近记录: |