我遇到了问题。我想在firebase数据库中搜索一个键名(而不是值),并希望得到它的第二个父级。我不知道该怎么做。如果不可能,你能否建议任何其他替代方式(例如以特定方式或其他任何方式重构数据库)以使用firebase实现我的目标?结构的屏幕截图在此附上。
答案 0 :(得分:0)
这需要重新解决问题。而不是说"我想要具有此属性的项目",将其视为"我想要具有此属性的任何值的项目"。
Query firebaseSearchQuery = mUserDatabase.orderByChild("exp/banana").startAt(" ")
此处空格(" "
)只是第一个可打印字符,因此我们会对所有内容进行匹配。
虽然此查询可行,但它要求您为每个用户在exp/banana
上定义索引。如果在JSON中创建倒排索引以允许此特定查找,则很可能会获得更好的结果。有关更长的解释和示例,请参阅我的答案:Firebase query if child of child contains a value