我正在使用以下查询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
字段的值是名为 的数组列表中的字符串之一statistics
。(例如“错误”、“超时”、“响应时间”...)。
我如何通过两个or
列表查询数据库。例如,我想匹配_id
字段等于包含在中的字符串statistics
以及name
字段是包含在中的字符串的位置networks
。
通过阅读其他主题,我认为解决方案可能是,$elemMatch
尽管我对高级查询在mongoDB
.