Mongo java api忽略嵌套或/和运算符
我想按姓名、文件或出生日期搜索此人 看起来很简单,但我的查询没有返回任何内容。 程序运行时没有错误,但找到0条记录。 如果我删除或只按名称搜索,它会起作用Mongo java api忽略嵌套或/和运算符,java,mongodb,Java,Mongodb,我想按姓名、文件或出生日期搜索此人 看起来很简单,但我的查询没有返回任何内容。 程序运行时没有错误,但找到0条记录。 如果我删除或只按名称搜索,它会起作用 List<Bson> fullname = new ArrayList<>(); List<Bson> bd = new ArrayList<>(); bd.add(eq("by", 1999)); bd.add(eq("bm", 9)); bd.add(eq("bd", 18)); ful
List<Bson> fullname = new ArrayList<>();
List<Bson> bd = new ArrayList<>();
bd.add(eq("by", 1999));
bd.add(eq("bm", 9));
bd.add(eq("bd", 18));
fullname.add(eq("l", ln));
fullname.add(eq("f", fn));
fullname.add(eq("p", pn));
Bson filter = and(
and(fullname),
or(
eq(and(bd)),
eq("document", document)
)
);
也许有更好的语法用于此类查询 据我所知,变量命名应该是:
Bson filter = and(
and(fullname),
or(
and(bd), // no "eq" here
eq("document", document)
)
);