【发布时间】:2012-09-28 15:31:24
【问题描述】:
我有以下格式的 Java Mongo 集合。
{
"field1": ["f1","f2"],
"field2": ["g1","g2"],
"Ans": a1
}
{
"field1": ["f4","f5"],
"field2": ["g5","g6"],
"Ans": a2
}
{
"field1": ["f1","f6"],
"field2": ["g2","g3"],
"Ans": a3
}
我需要分别在 field1 和 field2 中执行“OR”条件
根据我需要做的结果和条件来选择行。
例如:f1,f5,g2,g3 是我得到的输入。
我需要在字段 1 中使用 f1、f5 执行或操作,所以我将获得所有三行
我需要在字段 2 中使用 g、g3 执行或操作,因此我将获得第 1 行和第 3 行
同时做和两者的条件我只需要得到第一和第三行。
以下是我使用的代码
DBObject query1 = new BasicDBObject("field1","f1");
DBObject query2 = new BasicDBObject("field1","f5");
BasicDBList condtionalOperator = new BasicDBList();
condtionalOperator.add(query1);
condtionalOperator.add(query2);
DBObject query = new BasicDBObject("$or", condtionalOperator);
字段 2 的类似 OR 查询并查询其结果
我知道它很长。有人知道比这更简单的代码吗?
【问题讨论】:
标签: java mongodb conditional-operator