【问题标题】:How to find child node with equalTo query in Firebase with Swift? [duplicate]如何使用 Swift 在 Firebase 中使用 equalTo 查询查找子节点? [复制]
【发布时间】:2017-03-07 08:53:10
【问题描述】:

我有以下 Firebase 层次结构。

我如何编写一个查询来查找值为1 的子节点并且我不知道它在节点V9T3cEgEGPRmIkMQb32hxa5gG7L2 下?在这种情况下,我想查找并打印出-KeYbk3K1xXlyzOGVVPx(此 uid 密钥由 Firebase 生成)。主节点为eventUser

【问题讨论】:

  • 如果您指定特定的 eventUser 节点,您只能获取值为 1 的 eventOrganized。或者,您可以获取 eventOrganized 值为 1 的所有 eventUser。你想要的是不可能的。如果您希望整个数据库中所有 eventOrganized 的值为 1,则必须在代码中手动循环遍历它。
  • 顺便说一下,这是stackoverflow.com/questions/42609735/…的转贴
  • (1) 不是完全相同的问题,因为在这里我试图提出一个关于 Firebase 查询的一般性问题,而前一个问题过于具体且与您提到的代码 (2) 混淆了“你可以获取所有 eventOrganized 值为 1 的 eventUsers”它看起来如何?与prevoius线程的答案我没有得到那些记录
  • 我要说的是,您可以获取具有特定 eventOrganized 值为 1 的所有 eventUsers。但是我已经给了你那个查询,你说它不起作用(即使它应该起作用)。我认为你最好找到一种方法来重组你的数据库。
  • 这看起来与我在分类答案中描述的相似:stackoverflow.com/questions/40656589/…。正如 Pieter 所说,这需要不同的数据模型才能有效地完成。

标签: ios firebase swift3 firebase-realtime-database


【解决方案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 来回答?
猜你喜欢
  • 2016-06-03
  • 1970-01-01
  • 1970-01-01
  • 2019-05-31
  • 2012-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多