如何通过键字符串而不是firebase中的值进行查询?

时间:2018-04-14 06:45:26

标签: database firebase

我遇到了问题。我想在firebase数据库中搜索一个键名(而不是值),并希望得到它的第二个父级。我不知道该怎么做。如果不可能,你能否建议任何其他替代方式(例如以特定方式或其他任何方式重构数据库)以使用firebase实现我的目标?结构的屏幕截图在此附上。enter image description here

1 个答案:

答案 0 :(得分:0)

这需要重新解决问题。而不是说"我想要具有此属性的项目",将其视为"我想要具有此属性的任何值的项目"。

Query firebaseSearchQuery = mUserDatabase.orderByChild("exp/banana").startAt(" ") 

此处空格(" ")只是第一个可打印字符,因此我们会对所有内容进行匹配。

虽然此查询可行,但它要求您为每个用户在exp/banana上定义索引。如果在JSON中创建倒排索引以允许此特定查找,则很可能会获得更好的结果。有关更长的解释和示例,请参阅我的答案:Firebase query if child of child contains a value