gpt4 book ai didi

ios - Firebase:按 child 数量排序的查询

转载 作者:搜寻专家 更新时间:2023-11-01 07:06:53 25 4
gpt4 key购买 nike

在我的 firebase 数据库中,我有一个名为 Hashtag 的子项。该子项包含主题标签的名称,而该子项包含这些主题标签之外的帖子。

例如

Hashtags
L #firstHashtag
L post1: true
L post2: true
L post3: true
L #secondHashtag
L post4: true
L post5: true
L post6: true
L post7: true
L post8: true
L #thirdHashtag
L post9: true

这就是我的数据库的样子。

First hashtag has three posts.

Second hashtag has five posts.

Third hashtag has one post.

这是我的标签引用

var HASHTAG_REFERENCE = Database.database().reference().child("Hashtags")

我的目标是按最流行的顺序查询主题标签。帖子最多的主题标签是最受欢迎的主题标签。帖子最少的主题标签是最不受欢迎的主题标签。

所以最流行的主题标签是 secondHashtag,我想首先收到该主题标签的名称。最不受欢迎的主题标签是 thirdHashtag,我想最后接收该主题标签的名称

我如何查询我的数据库,以便它可以根据 children 的帖子数量对他们进行排序?

最佳答案

没有可让您按 child 数量排序的 native 查询。相反,您必须维护存储在另一个子项中的帖子计数,并根据该值对主题标签进行排序。

对此您有两种选择。每当将帖子添加到主题标签时,您都可以在客户端上维护计数。或者,编写一个 Cloud Functions 函数,在发生变化时自动使计数保持最新。在任何一种情况下,一定要使用事务来避免多个写入者的冲突。

另请记住,因为您想要倒序排列帖子数,您必须存储一个自然地从最多帖子到最少帖子排序的值。您可以存储一个负数,以确保最受欢迎的帖子(因此具有最小值)排在最不受欢迎的帖子(具有最大值)之前。

关于ios - Firebase:按 child 数量排序的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47426110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com