我试图在Flatter Firebase中执行一个“where”查询,以按名称进行过滤(如果对象名为“Una casa roja”,用户写“casa”,则必须返回该对象)。我不知道我能问谁。我只有这个,但不是我想要的:
.where('nombre', isGreaterThanOrEqualTo: nombre, isLessThan: nombre + 'z')
谢谢
缺省情况下,FiRest不支持文本搜索。但是,有一些变通方法。
您可以通过拆分名称字符串来做到这一点。
setSearchParameters(String name) {
List<String> searchOptions = [];
String temp = "";
for (int i = 0; i < name.length; i++) {
temp = temp + name[i];
searchOptions.add(temp);
}
return searchOptions;
}
然后,您可以通过使用arrayContains
在该数组中搜索来查询用户集合,如下所示:
await usersCollection
.where('searchOptions', arrayContains: searchText)
.get()
.then((value) =>
value.docs.map((doc) => User.fromSnapShot(doc)).toList());
此解决方案适用于简单的情况,但如果您需要高级搜索功能,则必须使用Agolia等第三方服务。
问题内容: 我正在使用SQLAlchemy和SQLite3构建查询,其中我想选择其中String列包含特定子字符串的行。做到这一点的最佳方法是什么? 问题答案: 筛选。还有一个不区分大小写的搜索。 对于更高级的界面,您可以允许使用已知的“ dir”通配符。 笔记: 和是(如果数据库是由另一个应用程序创建的,则SQLSoup很有用) 对于SQLAlchemy Core是。当您需要原始SQL的所有功能
我的Firebase查询有点麻烦。我想查询objects,其中objects子值包含某个字符串。到目前为止,我有一些东西看起来是这样的: 但这只给出起始值为“b”的对象。我想要包含字符串“b”的对象。我该怎么做?
问题内容: 我一直在尝试找出如何使用MySQL进行查询的方法,该查询检查特定列中的值(字符串)是否包含某些数据(字符串),如下所示: 在PHP中,该函数称为,因此可能: 问题答案: 实际上很简单: 的是用于设置任何字符(无,一个或多个)的通配符。请注意,这在非常大的数据集上可能会变慢,因此,如果数据库增长,则需要使用全文索引。
问题内容: 我想找到一个SQL查询来查找其中field1不包含$ x的行。我怎样才能做到这一点? 问题答案: 这是什么领域?IN运算符不能与单个字段一起使用,而应与子查询或预定义列表一起使用: 如果要搜索字符串,请使用LIKE运算符(但这会很慢): 如果将其限制为要搜索的字符串必须以给定的字符串开头,则可以使用索引(如果该字段上有索引)并且速度相当快:
我们在代码中创建查询,方法是在查询的语法中连接字符串,就像创建一个节点一样,查询中的所有属性都是在运行时添加的。 查询在代码中如下所示,其中 节点标签=字符串 properties = JSONObject 执行查询创建时出错因为它不允许在java代码中的查询中使用撇号(')。 在neo4j浏览器上执行相同的查询,但在尝试代码时没有执行相同的查询。 如何解决这个问题并允许同样的情况。 问题2 :-
我知道拆分字符串并使用运算符是可能的,但我想知道是否可以使用字符串比较轻松地完成。