次の形式の Java Mongo Collection があります。
{
"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 を使用して実行または調整する必要があるため、必要な 3 つの行すべてを取得する
か、フィールド 2 で g、g3 を使用して調整する必要があるため、実行中に 1 番目と 3 番目の行
を取得し、必要な両方を調整します。 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 クエリと、その結果に対する And クエリは
、かなり長いことがわかります。これよりも簡単なコードを知っている人はいますか?