两个问题:首先,通过REST更新'.priority'的唯一方法是使用PUT,这会强制您重写所有其他值吗?而且我不敢问,但这也适用于Javascript SDK吗?
其次,除了使用优先级来订购您的集合“服务器端”之外,还有其他一些方法吗?
在客户端上对事物进行排序对我来说不起作用,因为我正在使用一个砌体类型的插件进行布局,无论何时订单改变客户端,它都会变得疯狂,但它似乎在服务器方面运行良好。我正在使用PHP来降低'.priority'值随时间的推移,降低项目在集合中的位置,但是我被迫在cron run中重写其他所有字段。它有效,但最好能够更新'.priority'或其他控制位置的值。
答案 0 :(得分:1)
问题1:通过REST API的.priority
您可以通过直接调用.priority上的PUT来设置优先级而不修改记录。这些示例是found in the REST API doc:
因此,重申一下,将.priority
添加到网址中。
问题2:使用数据存储黑客攻击Angular中的砌体排序?
如果您还没有在这里探讨过您的选择,那么有几个专门用于整合砌体和角度的库,您可能想要查看(例如angular-masonry)。您也可以通过自己的SO问题直接在砌体中对数据进行排序,而不是尝试使用您的数据存储来解决它,这似乎是XY Problem。
Firebase中的记录按字典顺序排序,因此您有三个选项: