在我的Android应用程序中,我将产品列表存储在此结构中。但我需要检查该关键字是否包含我的搜索文本。我正在使用此查询
Query query= FirebaseDatabase.getInstance().getReference(productList)
.orderByChild("keywords").startAt("bag").endAt("bag\uf8ff");
但它不起作用,请在这部分帮助我。否则请说出在我的应用FirebaseDB中保存关键字的正确结构。
答案 0 :(得分:1)
Firebase实时数据库无法正常运行,“包含”就像您想要的匹配一样。相反,更好的建议方法是为每个“产品”提供一个关键字列表,而不是将其存储在逗号分隔的字符串中。
"productList":
{
"id1":
{
"keywords":
{
"bag": true,
"bang": true
},
...
}
}
Firebase Realtime Database Structure Guidelines进一步解释了这种结构。然后它使查询更好。然后,您可以执行以下操作以查找具有该关键字的产品...
Query query = FirebaseDatabase.getInstance().getReference(productList).orderByChild("keywords/bag").startAt("");