Firebase 数据库从子节点 B 中指定的子节点 A 检索对象
Posted
技术标签:
【中文标题】Firebase 数据库从子节点 B 中指定的子节点 A 检索对象【英文标题】:Firebase Database retrieving objects from child node A specified in child node B 【发布时间】:2017-06-24 13:36:22 【问题描述】:我想在我的 Firebase 数据库中实现一个浅层数据结构。就此而言,我有两个子节点。第一个子节点 (users
) 的 userID 包含来自第二个子节点 (items
) 的 itemID 列表。
如何使用用户列表中指定的项目列表中的项目填充UITableView
/RecyclerView
?每个登录用户都有自己的项目,我想从items
列表中检索它们。可以用 FirebaseUI 完成吗?
解决方案适用于任何受支持的平台,我只是想了解一下。
"users" :
"97csAjE3dIZxZ5t3LbgxbaSOgxl2" : // userID
"TQjEnGjiRNsYL9" : // each key is an itemID
"etc" : "..."
,
"VPHYi6xhrYsAwK" :
"etc" : "..."
,
"WbnrFVDdfB9iJj" :
"etc" : "..."
,
"xB9UgakhHkNzid" :
"etc" : "..."
,
"items" : [
"_id" : "vCG3furXeUnZpK", // Eventually I'll make this _id into the item key
"etc" : "..."
,
"_id" : "WbnrFVDdfB9iJj"
,
"_id" : "xB9UgakhHkNzid"
,
"_id" : "VPHYi6xhrYsAwK"
,
"_id" : "TQjEnGjiRNsYL9"
,
"_id" : "Bor6VhCyqxZHpb"
,
"_id" : "iQnMmNy2fbrvYn"
]
【问题讨论】:
你能告诉我来自 firebase 的 json 数据结构吗? 请分享您所询问的实际 JSON 的 sn-p(作为文本,您可以通过单击 Firebase Database console 中的导出 JSON 来获得)。如果您展示您已经尝试过的内容,我们也将受到欢迎,以便我们可以将答案与此联系起来。 @JdPrajapati 我添加了一个 JSON sn-p @FrankvanPuffelen 我添加了一个 JSON sn-p 【参考方案1】:首先获取当前用户的所有 itemID 并将 id 存储在某处。
let itemIDArray = [String]()
现在使用以下代码为每个项目 ID 获取项目详细信息
// database reference
ref.child("items").child(itemID).observeSingleEvent(of: .value, with: (snapshot) in
【讨论】:
【参考方案2】:您可以使用带有子节点的 firebase 条件获取特定用户的数据。
database.child(Table).
orderByChild("user/id")
.equalTo("somevalue").
【讨论】:
以上是关于Firebase 数据库从子节点 B 中指定的子节点 A 检索对象的主要内容,如果未能解决你的问题,请参考以下文章
sh 使用package.json(engines.node)中指定的节点版本。使用jq和nvm。如果要安装版本,则会在缺少版本时提示。