我正在尝试使用Java驱动程序在mongodb中进行不区分大小写的查询。当我搜索“ abc”时,我在名为foo的字段中有一个字符串,例如“ abcdef”,搜索必须返回空,但它始终返回包含“ abcdef”的元素。
如果我在mongo控制台中执行此操作
db.collection.find( { foo: /^abc$/i } )
它有效,但不返回任何内容。不返回包含“ abcdef”的对象,如果我们有一个带foo:“ abc”的对象,则仅返回一个
但是在Java驱动程序中,我尝试过。
BasicDBObject query = new BasicDBObject();
query.put("foo", "^"+abc+"$");
query.put("$options", "i");
和
BasicDBObject query = new BasicDBObject();
query.put("foo", Pattern.compile("/^"+abc+"$/",
Pattern.CASE_INSENSITIVE));
但这不起作用
您可以使用模式,^(abc)
例如
Pattern compile = Pattern.compile("^(abc)", Pattern.CASE_INSENSITIVE);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句