当前位置: 首页 > 知识库问答 >
问题:

按包含给定字符串的值搜索记录

帅博简
2023-03-14

我有一个收藏:

_id: ObjectId("11313123qeqerq")
products: Array
    0: Object
        name: "ABC-123"
query.addCriteria(where(products).elemMatch(where(name).in("ABC", "DEF"));

共有1个答案

罗心思
2023-03-14

在()中的方法确实检查了一个完全相等的值。
应该像在SQL中一样使用。在标准中,它确实转换为like():

criteria.add(Restrictions.disjunction()
    .add(Restrictions.like("name", "ABC", MatchMode.ANYWHERE))
    .add(Restrictions.like("name", "DEF", MatchMode.ANYWHERE))
);

该条件确实在任何地方查找包含ABC或DEF的字符串。
使用ilike()进行不区分大小写的比较。

 类似资料:
  • 问题内容: 如何在上面的数组中松散搜索“ Last”一词? 上面的代码仅在指针与值中的所有内容完全匹配时才回显值的键,这是我不想要的。我想要这样的东西: 如果值包含单词“ Last”,我希望值的键回显。 问题答案: 要查找符合搜索条件的值,可以使用函数: 现在,数组将仅包含原始数组中包含单词 last (不区分大小写)的元素。 如果需要查找与条件匹配的值的键,则需要遍历数组: 现在,数组包含原始数

  • 我试图在ElasticSearch中运行类似的字段查询:

  • 问题内容: 我正在尝试使用以下命令搜索字符串(带点) 但是,什么情况是,我也越来越其中包含字符串不想要的结果,例如,等等,。问题是linux将dot(。)视为任何字符并得出所有结果。但是我只想得到“ 0.49”的结果。 问题答案: 使用正则表达式;在正则表达式中表示“任何字符”。如果你想有一个文本字符串,使用,或逃避到。 不要忘记将字符串用双引号引起来。否则你应该使用 因此,您的命令将需要是: 要

  • 问题内容: 我正在尝试在ElasticSearch中运行类似的字段查询: 意思是我正在尝试查找所有文档,其中产品名称在这种情况下是’milk’的子字符串。 我该怎么做? 问题答案: 我会使用一个使用ngrams的自定义分析器。首先创建一个像这样的索引: 然后,您可以索引一些数据: 最后,您可以像这样搜索: 然后您将获得前两个文档,

  • 问题内容: 我正在Python 2.7中编写代码,在其中定义了字符串列表。然后,我想在此列表的元素中搜索一组字母。这些字母必须是随机的。即从输入中搜索列表中的每个字母。我一直在谷歌周围,但我还没有找到解决方案。 这是我得到的: 这是一个例子。在这里,唯一的输出应该是“ lake”和“ que”,因为这些词包含“ a”,“ q”和“ k”。我该如何重写我的代码,以便做到这一点? 提前致谢! 亚历克斯

  • 问题内容: 我有一本包含键值对的字典。我的值包含字符串。如何搜索字典中是否存在特定字符串并返回与包含该值的键相对应的键。 假设我要搜索字典值中是否存在字符串“ Mary”,并获取包含它的键。这是我尝试过的方法,但显然不能那样工作。 有没有更好的方法来执行此操作,因为我可能要查找存储的值的子字符串(“ Mary”是值“ Mary-Ann”的子字符串)。 问题答案: 您可以这样做: