我想在我的用户列表中找到最年轻的用户并加载他们的数据:姓名、个人资料图片和当前工作分配。我已经阅读了有关查询数据的Firebase入门,但它们的示例对我不适用,因为我的数据组织方式不同。我有一个额外的子层。
这是我在Firebase中的JSON树:
我尝试加载用户列表,然后对其进行迭代以找到最年轻的用户,但这似乎有些过头了。Firebase文档让我觉得应该能够通过Firebase方法进行查询,比如“queryOrderedByChild”或类似的方法。
我已经浏览了这里的旧文档和这里的新文档,但我仍然不知道该怎么做。
这就是我的工作流程:
该应用程序将在“成员”列表中找到最年轻的用户,并加载他们的姓名、个人资料图片、生日等。他们将从工作列表中进行选择。一旦用户从可用作业列表中选择,应用程序将从“成员”列表中加载下一个最年轻的用户,依此类推,直到所有用户都已加载并有机会选择作业。
我认为更好的工作流程是这样的:
我该怎么做呢?
编辑#1:我尝试过的代码
func loadExistingUsers(completion: @escaping ([[String : Any]]) -> ()) {
var dictionary = [[String : Any]]()
ref.child("members").observeSingleEvent(of: .value) { (snapshot: FIRDataSnapshot) in
for child in snapshot.children {
let snap = child as! FIRDataSnapshot
if let value = snap.value as? [String : Any] {
dictionary.append(value)
}
}
completion(dictionary)
}
}
然后在ViewddLoad中:
loadExistingUsers { (dictionary) in
var youngestBirthday = 19000101
var userName = "Sophie"
for item in dictionary {
let fetchedBirthday = item["birthday"] as! Int
let fetchedName = item["firstName"] as! String
if fetchedBirthday > youngestBirthday {
youngestBirthday = fetchedBirthday
userName = fetchedName
}
}
print(userName,youngestBirthday)
}
此方法返回我的用户列表中最年轻的用户,但要获得我想要的东西似乎还有很长的路要走。我必须首先从Firebase获取用户,然后解析快照,然后创建一个数组,然后对数组进行排序,然后获取用户名。我以为Firebase可以通过一个查询完成所有这些。我错了吗?
您可以使用以下代码获得最小的孩子:(因为您最小的日期是最大的数字,所以我使用的是最后一个日期)
ref.child("members").queryOrdered(byChild:"birthday").queryLimited(toLast: 1).observeSingleEvent(of: .childAdded, with: { (snapshot) in
if let value = snapshot.value as? [String: Any] {
let name = value["firstname"] as? String
//you can do for other values as well
print(name)
}
})
我已将Firebase的Facebook和电子邮件登录集成到我的iOS应用程序中。 不过,我只想将 Firebase 用户 ID 存储在我的 API 数据库中。 因此,在我的后端服务器(比如Ruby)中,如果我有firebase用户UID,我如何查询firebase以获得用户的姓名和电子邮件地址。 谢谢
如何使用Firebase获取用户名属性,我不知道如何获取用户名、电话号码等属性,我只知道如何获取用户名属性,但不知道用户名属性,也许你可以从下面的Firebase数据库中了解。 这是我的密码
在下面的代码中,如何获取被点击按钮的< code>Button位置? }
问题内容: 我正在为我的Firebase应用程序构建一个管理面板,希望可以更轻松地管理用户。我希望能够通过电子邮件查找用户,然后在必要时将其删除。我了解,如果注册了用户以及他们向其注册了哪个提供程序,则fetchSignInMethods将返回一个值,但是仍然可以查询Authentication树(而非数据库树)以通过电子邮件搜索用户吗?能够从Authentication节点获取与电子邮件相关联的
问题内容: 怎么做? 该问题的原标题是“ 在带有子查询的复杂查询中使用等级(@Rank:= @Rank + 1)-可以吗? ”,因为我一直在寻找使用等级的解决方案,但是现在我看到Bill所发布的解决方案是好多了。 原始问题: 我正在尝试组成一个查询,该查询将从给定定义顺序的每个组中获取最后一条记录: 表达式通常用于等级,但对我来说,在2个子查询中使用时,它看起来可疑,但仅初始化一次。这样行吗? 其
接口说明 获取用户权限 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 API地址 GET /permissions/api/team/user/v1.0.0/getUserPermissions 是否需要登录 是 请求字段说明 参数 类型 请求类型 是否必须 说明 token string header 是 当前登录用户的TOKEN 响应字段说明 无