【问题标题】:How to make a case-insensitive query in java?如何在java中进行不区分大小写的查询?
【发布时间】:2012-01-29 19:31:12
【问题描述】:

我知道在控制台中进行不区分大小写的查询可以使用像 db.stuff.find( { foo: /bar/i } ); 这样的正则表达式

MongoDB: Is it possible to make a case-insensitive query?

但我不知道如何在 java drive.example 中使用它:

DBObject q = BasicDBObjectBuilder.start().add(type, s).add("user", user).get();
DBCursor cursor = c.find(q);

我想要user不区分大小写,怎么做?

【问题讨论】:

标签: java mongodb


【解决方案1】:

您可以使用 Pattern.compile() 来完成,其中第一个参数是您要查询的值,第二个参数是 Pattern.CASE_INSENSITIVE,如下所示。

query.put("db.variable", Pattern.compile(searchValueHere, Pattern.CASE_INSENSITIVE));

【讨论】:

    【解决方案2】:

    您已经知道使用正则表达式。我能想到的唯一其他选择是规范化要查询的数据。

    【讨论】:

      猜你喜欢
      • 2011-10-23
      • 2019-05-21
      • 2021-08-05
      • 2011-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多