Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android dart:获取类似“SQL”的SQL%text%";从firebase数据库快照进行搜索_Android_String_Dart_Flutter - Fatal编程技术网

Android dart:获取类似“SQL”的SQL%text%";从firebase数据库快照进行搜索

Android dart:获取类似“SQL”的SQL%text%";从firebase数据库快照进行搜索,android,string,dart,flutter,Android,String,Dart,Flutter,我目前正在我的应用程序中使用搜索功能。这将获取我的firebase数据库快照的引用。我正在为此使用firebaseDatabase包 目前我正在使用这个搜索我的数据库 FirebaseDatabase.instance.reference().child('products').orderByChild('title').equalTo(searchQuery) searchQuery变量是用于搜索数据库的字符串。这将返回标题等于searchQuery的产品列表 searchQuery = '

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

这是否可能以我目前使用的方式实现?

您正在寻找一个
包含
的查询,但Firebase不提供该查询。您可以通过查找
equalTo
endAt
startAt
的值来优化实际查询(您也可以使用这些方法)。不过,提出三个请求的成本很高


如果数据库不大且数据不敏感,我建议提取整个数据并进行客户端筛选,如图所示。

我看到像.equalsTo(query++“\nf8ff”这样的查询将返回查询文本后面的所有内容。因此,query“hello”+“\nf8ff”也将返回“hello there”。因此我认为“\nf8ff”+“there”+”“\nf8ff”也会返回“hello there”,但事实并非如此。我不知道为什么没有实现这样一个基本查询:(您在哪里看到的?我使用此方法找到了多篇帖子。问题是您只能查询“abc%”,而不能查询“%abc%”):/