gpt4 book ai didi

java - Mongo java api 忽略嵌套的 or/and 运算符

转载 作者:行者123 更新时间:2023-12-02 09:19:11 25 4
gpt4 key购买 nike

我想通过以下方式搜索人员:姓名 AND(文档或出生日期)。

看起来很简单,但我的查询没有返回任何内容。程序运行没有错误,但找到 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));

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)
)
);

关于java - Mongo java api 忽略嵌套的 or/and 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58799231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com