ios - Firebase,获得具有特定值(value)的 child 的直接 parent

标签 ios swift firebase firebase-realtime-database

我正在开发一个带有 firebase 后端的 ios 应用程序。当用户注册时,在 firebase 中创建用户节点,在该节点下有不同的子节点,如电子邮件、姓名、头像等。我正在做的是在用户节点中搜索一些电子邮件,如果我在某个节点中找到该电子邮件,我想要获取其父 key ,即 -Ksdd23d2djhsdgjhs。见图片:image

如果电子邮件与我拥有的电子邮件匹配,我想获取带有上箭头的值。

我有一个电子邮件地址,我正在搜索用户节点中的所有子节点,然后进一步检查以将电子邮件与我拥有的电子邮件进行比较。如果电子邮件匹配,我想得到它的父节点,就像在图像中它是 Dn2LUAwdolg ...... .

我可以得到用户节点下的第一个节点。假设图中显示的节点 Dn2LU.. 位于某个未知位置,如果它的电子邮件子值与我正在比较的那个相匹配,我必须搜索所有用户以获取其名称。

希望现在天气晴朗

最佳答案

我认为您正在寻找的内容已记录在此处: https://firebase.google.com/docs/reference/js/firebase.database.Reference#equalTo

我不是 IOS 开发人员,但我这里有一个 JS 示例:

// Find all users which match the child node email.
var ref = firebase.database().ref('user');
ref.orderByChild('email').equalTo('wal@aol.com').on("value", function(snapshot) {
  snapshot.forEach((function(child) { console.log(child.key) }); 
});

快照包含整个节点,但 snapshot.key 将返回节点 key (在您的示例中:Dn2LUAwdolg ...)

关于ios - Firebase,获得具有特定值(value)的 child 的直接 parent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45835615/

相关文章:

ios - 通过访问 AppDelegate 中的 Tab Bar Items 更改 Tab Bar Item Image inset

iOS 嵌入 View

ios - 将数据从表传递到第一个 View Controller - 错误 : unexpectedly found nil while unwrapping an Optional value

swift - URLSession dataTask 方法返回 0 字节数据

android - 检查 Firebase 注册 token 是否无效

angular - 在 Firestore 中使用 Angular 删除集合中的文档

ios - 平移时跟踪 MKMapView centerCoordinate

ios - WKWebView 将谷歌搜索结果显示为原始 html

ios - 如何将值从 SceneDelegate 文件传输到 ViewController (Swift 5)

firebase - 安全的 Firebase 网络钩子(Hook)