Firebase数据库从子节点B中指定的子节点A检索对象

时间:2017-02-07 10:38:47

标签: android ios firebase firebase-realtime-database firebaseui

我想在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"
  } ]
}




2 个答案:

答案 0 :(得分:1)

首先获取当前用户和商店ID的所有itemID。

let itemIDArray = [String]()

现在使用以下代码

为每个项目ID获取项目详细信息
// database reference
ref.child("items").child(itemID).observeSingleEvent(of: .value, with: {(snapshot) in

}

答案 1 :(得分:0)

您可以使用具有子节点的firebase条件获取特定用户的数据。

ProcessBuilder