我有一个正在按预期生成结果的mongo查询,这是我的查询
db.getCollection('student').find({books: {$elemMatch: {"dynamicData.subject":/bbb/}}})
我使用查询dsl准备了一个查询,这是
orFn.accept(student.books.any().dynamicData.get(subject).eq(value))
哪个对于值的完全匹配工作正常,我需要查询表现为像sql一样的语法来过滤包含忽略大小写。需要一些querydsl gurus的帮助
答案 0 :(得分:0)
以下是解决方案found it from here
Path<?> path = student.books.any().dynamicData.get(subject);
Expression<String> constant = Expressions.constant(value);
orFn.accept(Expressions.predicate(Ops.STRING_CONTAINS_IC, path, constant));