dart:从Firebase数据库快照中获取类似“%text%”的SQL查询

时间:2019-05-18 21:05:22

标签: android string dart flutter

我目前正在我的应用程序中使用搜索功能。这获得了我的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;

这可能是目前我使用它的方式吗?

1 个答案:

答案 0 :(得分:1)

您正在寻找contains查询,但Firebase不提供该查询。您可以通过查找equalToendAtstartAt的值来优化实际查询(这些方法也可供您使用)。但是,发出三个请求将非常昂贵。

如果您的数据库不大并且数据不敏感,建议您提取整个数据并进行here所示的客户端过滤。