gpt4 book ai didi

java - 使用 $or 和 $in 在 Java 中创建 mongodb 查询

转载 作者:IT老高 更新时间:2023-10-28 12:30:57 25 4
gpt4 key购买 nike

我正在尝试使用 mongodb api 编写一个 java 代码来创建这个 mongodb 查询:

{ "$or": [{"prd" : {"$in" : ["1234", "0987"]}} , {"rsin" : "3228742"}]}

这是我目前正在使用的代码:

QueryBuilder builder = new QueryBuilder();

if (builder == null) {
builder = QueryBuilder.start();
}

if (mongoKey.equals("prd")){

ArrayList<String> vals = new ArrayList<String>();

for (int i=0; i < prdList; i++){
vals.add(prdList.get(i));
}

DBObject obj = new BasicDBObject (mongoKey, new BasicDBObject("$in", vals));
builder.or(obj);

}else {
builder.and(mongoKey).is(mongoValue);
}

这当前打印出错误的语法:

{ "$or": [{"prd" : {"$in" : ["1234", "0987"]}}] , "rsin" : "3228742"}

有什么帮助吗?

最佳答案

问题出在 else block 上,您需要使用 or 方法而不是 and

...
}else {
builder.or(new BasicDBObject(mongoKey, mongoValue));
}

这将产生您想要的查询。

关于java - 使用 $or 和 $in 在 Java 中创建 mongodb 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17561587/

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