我正在使用firebase后端制作应用程序 . 我有数据存储我想出去 . 是的,有快照选项,但在这种特定情况下,通过URL获取信息会更容易 .
例如,如果我在数据库中有一个用户,并且在该用户下,则有一个名为messages的特定节点,并且在该节点下,有许多消息对象 . 当您在firebase控制台中单击其中一个节点时,您将获得对该框顶部的引用(see picture) .
是否可以从顶部的URL获取信息并将其用作快照来检索数据?我之前已经看过它在早期的firebase文档中已经完成了,这正是我需要的,但它已经过时而且不起作用 .
以下是该文档的链接:https://www.firebase.com/docs/ios/guide/retrieving-data.html
我正在使用Swift3和Xcode 8
// Get a reference to our posts
var ref = Firebase(url:"https://docs-examples.firebaseio.com/web/saving-data/fireblog/posts")
// Attach a closure to read the data at our posts reference
ref.observeEventType(.Value, withBlock: { snapshot in
println(snapshot.value)
}, withCancelBlock: { error in
println(error.description)
})
1 回答
如您所见,您的
Link
是.child()
参数"user"
的摘要以及用户/消息的ID,因此:您需要做的是,将
autoID
保存到您的消息字典中,以便您可以参考和call the message directly
. 这样你“.child()
" your way to the message that you need and "间接”创建direct link
而不是查询整个Firebase .为此,您需要像这样保存消息:
你通过
saveMessages(userID: myUserID, messages: message)
调用该函数然后你要么:
将所有消息加载到结构的数组中:
或者您通过您(需要)已经知道的ID直接呼叫消息 .
Summary :为了能够直接调用您的消息而无需查询整个Firebase并且必须循环到所需的消息,您需要知道生成的
autoID
,存储该消息并查询具有该ID的引用 .例如,您可以在Firebase中的用户内部设置一个仅存储messageID的数组 . 然后你可以使用它们来查询你想要的消息 .
像这样的东西:
在您从Firebase下载并实例化用户模型后,您:
顺便说一下,messageID对于能够删除或编辑某个消息也很重要 .