如何使用Spring Criteria构建此MongoDB查询?
{
$or: [
{ "$text" : { "$search" : "570-11024" } },
{"productDetails.code": "572-R110"}
]
}
它将全文索引搜索与正常的Where标准与orOperator结合使用。
查询的 orOperator(条件...条件)方法仅采用Criteria且没有TextCriteria,也没有CriteriaDefinition接口。
答案 0 :(得分:1)
是的,你是对的,在Spring数据mongo你可以这样做,
final TextCriteria textCriteria = TextCriteria.forDefaultLanguage().matchingAny("570-11024");
final DBObject tc = textCriteria.getCriteriaObject();
final Criteria criteria = Criteria.where("productDetails.code").is("572-R110");
final DBObject co = criteria.getCriteriaObject();
BasicDBList or = new BasicDBList();
or.add(tc);
or.add(co);
DBObject qq = new BasicDBObject("$or", or);
// Use MongoTemplate to execute command
mongoTemplate.executeCommand(qq);