如何使用 Swift 在 Firebase 中使用 equalTo 查询查找子节点? [复制]
Posted
技术标签:
【中文标题】如何使用 Swift 在 Firebase 中使用 equalTo 查询查找子节点? [复制]【英文标题】:How to find child node with equalTo query in Firebase with Swift? [duplicate] 【发布时间】:2017-03-07 08:53:10 【问题描述】:我有以下 Firebase 层次结构。
我如何编写一个查询来查找值为1
的子节点并且我不知道它在节点V9T3cEgEGPRmIkMQb32hxa5gG7L2
下?在这种情况下,我想查找并打印出-KeYbk3K1xXlyzOGVVPx
(此 uid 密钥由 Firebase 生成)。主节点为eventUser
。
【问题讨论】:
如果您指定特定的 eventUser 节点,您只能获取值为 1 的 eventOrganized。或者,您可以获取 eventOrganized 值为 1 的所有 eventUser。你想要的是不可能的。如果您希望整个数据库中所有 eventOrganized 的值为 1,则必须在代码中手动循环遍历它。 顺便说一下,这是***.com/questions/42609735/…的转贴 (1) 不是完全相同的问题,因为在这里我试图提出一个关于 Firebase 查询的一般性问题,而前一个问题过于具体且与您提到的代码 (2) 混淆了“你可以获取所有 eventOrganized 值为 1 的 eventUsers”它看起来如何?与prevoius线程的答案我没有得到那些记录 我要说的是,您可以获取具有特定 eventOrganized 值为 1 的所有 eventUsers。但是我已经给了你那个查询,你说它不起作用(即使它应该起作用)。我认为你最好找到一种方法来重组你的数据库。 这看起来与我在分类答案中描述的相似:***.com/questions/40656589/…。正如 Pieter 所说,这需要不同的数据模型才能有效地完成。 【参考方案1】:传递nodeVal
中的节点值
var userId = firebase.auth().currentUser.uid;
return firebase.database().ref('/eventUser/' + nodeVal).once('value').then(function(q)
var eventItem = q.val().eventitem;
console.log(eventitem);
);
【讨论】:
这是一个 Swift 问题,你为什么要用 javascript 来回答?以上是关于如何使用 Swift 在 Firebase 中使用 equalTo 查询查找子节点? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 swift 和 firebase 正确使用完成处理程序?
如何使用 swift 读取 Firebase 数据库中的值,然后在地图上进行注释?
如何在 UILabel 中显示名字?我正在使用 Firebase 和 Swift 开发 IOS 应用程序
如何使用 Swift 在 Firebase 中创建具有多个属性的用户?