我目前正在我的应用程序中使用搜索功能。这获得了我的Firebase数据库快照的参考。即时通讯为此使用firebaseDatabase包。
当前我正在使用它来搜索我的数据库
FirebaseDatabase.instance.reference().child('products').orderByChild('title').equalTo(searchQuery)
searchQuery变量是用于搜索数据库的字符串。这将返回标题等于searchQuery的产品列表。
searchQuery = 'hello';
title1 = 'hello';
title2 = 'hello there';
目前仅
searchQuery == title1;
searchQuery != title2;
但我也希望将其退回
searchQuery == title2;
这可能是目前我使用它的方式吗?
答案 0 :(得分:1)
您正在寻找contains
查询,但Firebase不提供该查询。您可以通过查找equalTo
或endAt
或startAt
的值来优化实际查询(这些方法也可供您使用)。但是,发出三个请求将非常昂贵。
如果您的数据库不大并且数据不敏感,建议您提取整个数据并进行here所示的客户端过滤。