以下のクエリsearchQueryを使用して正規表現を適用しています。
BasicDBObject searchQuery = new BasicDBObject();
Pattern regex;
BasicDBList or = new BasicDBList();
for (String s : statistics) {
regex = Pattern.compile(s);
DBObject statRegex = new BasicDBObject("_id", regex);
or.add(statRegex);
}
searchQuery.put("$or", or);
_idフィールドが という配列リスト内の文字列の 1 つの値を持つ結果を検索しますstatistics。(例: 「エラー」、「タイムアウト」、「応答時間」...)。
or2 つのリストを介してデータベースにクエリを実行するにはどうすればよいですか。たとえば、_idフィールドがに含まれる文字列と等しい場所と、フィールドがに含まれる文字列statisticsでnameある場所を一致させたいとしnetworksます。
他のトピックを読んだことから$elemMatch、高度なクエリが でどのように機能するかについての理解は限られていますが、解決策があると思いますmongoDB。