Firebase 数据库从子节点 B 中指定的子节点 A 检索对象
Firebase Database retrieving objects from child node A specified in child node B
我想在我的 Firebase 数据库中实现一个浅层数据结构。就此而言,我有两个子节点。第一个子节点 (users
) 具有用户 ID,其中包含来自第二个子节点 (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 条件获取特定用户的数据。
database.child(Table).
orderByChild("user/id")
.equalTo("somevalue").
首先获取当前用户的所有 itemID 并将 id 存储在某处。
let itemIDArray = [String]()
现在使用以下代码为每个项目 ID 获取项目详细信息
// database reference
ref.child("items").child(itemID).observeSingleEvent(of: .value, with: {(snapshot) in
}
我想在我的 Firebase 数据库中实现一个浅层数据结构。就此而言,我有两个子节点。第一个子节点 (users
) 具有用户 ID,其中包含来自第二个子节点 (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 条件获取特定用户的数据。
database.child(Table).
orderByChild("user/id")
.equalTo("somevalue").
首先获取当前用户的所有 itemID 并将 id 存储在某处。
let itemIDArray = [String]()
现在使用以下代码为每个项目 ID 获取项目详细信息
// database reference
ref.child("items").child(itemID).observeSingleEvent(of: .value, with: {(snapshot) in
}