gpt4 book ai didi

ios - Firebase 在其关键路径上观察对象,一一返回其子对象

转载 作者:行者123 更新时间:2023-11-29 01:17:07 26 4
gpt4 key购买 nike

我使用的是 Firebase IOS SDK,我设置了安全性,使每条消息只能由其所有者读取/写入。要监听消息更改,我需要使用 observeEventType:(FEventTypeChildChanged/FEventTypeChildAdded) 观察其消息键路径上的每条消息。我在这里面临的问题是,每次远程更新/添加消息时,Firebase 都会为该消息的每个子级(属性名称和消息)返回一个单独的快照。 snapshot-dictionary 一次只包含一个子项及其相应的值。有没有办法让所有的 child 都返回完整的消息,而不是让他们一个一个地返回?

-messages
--message_key_a
--name
--message
--message_key_b
--name
--message
--message_key_c
--name
--message

--users
--user_key_a
--name
--messages
--message_key_a
--message_key_c

最佳答案

你可以监听 value 事件:

ref observeEventType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot)

但是,如果每条消息只能由其所有者读取,那么听起来您的数据模型是错误的。为什么不将每个所有者的消息存储在该所有者的节点下:

/messages_per_user
$uid
$messageid
name
message

这样你就可以在 /messages_per_user/$uid 上授予读/写访问权限:

{
"rules": {
"messages_per_user": {
"$uid": {
".read": "auth.uid == $uid",
".write": "auth.uid == $uid"
}
}
}
}

关于ios - Firebase 在其关键路径上观察对象,一一返回其子对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35042506/

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