gpt4 book ai didi

ios - Firebase 数据库不等于请求 - 替代解决方案(适用于 iOS)

转载 作者:太空宇宙 更新时间:2023-11-04 11:57:00 24 4
gpt4 key购买 nike

我使用具有 Json 结构的 Firebase 数据库来管理用户的评论。

 {
"post-comments" : {
"post-id-1" : {
"comment-id-11" : {
"author" : "user1",
"text" : "Hello world",
"uid" : "user-id-2"
},....
}

我想提取所有评论,但不包括当前用户的评论。

在 SQL 中,这将被转换为:从帖子评论中选择 *,其中 id !="user-id-2"

据我了解,Firebase 数据库不提供根据值是否存在(即:用户 id != ...)排除节点的方法。

因此有没有其他解决方案来解决这个问题。要么通过更改数据库结构,要么在加载数据后处理数据源。

对于后者,我使用 FirebaseTableViewDataSource。有没有办法在查询后过滤数据?

非常感谢

最佳答案

第一个解决方案是通过 .ChildAdded 加载评论并忽略当前 user_id 的评论

let commentsRef = self.myRootRef.childByAppendingPath("comments")

commentsRef.observeEventType(.ChildAdded, withBlock: { snapshot in

let uid = snapshot.value["uid"] as! String
if uid != current_uid {
//do stuff
}
})

您可以对此进行扩展,并通过 .Value 加载所有内容,并在代码中迭代子级。该方法将取决于您加载的节点数量 - .ChildAdded 将降低内存使用量。

关于ios - Firebase 数据库不等于请求 - 替代解决方案(适用于 iOS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41285815/

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