我正在根据多个参数生成一项复杂的 Mongo
查询。我想使用 Criteria
帮助类之一来完成以下标准:
{"field1": {$exists: true, $ne: false}}
我尝试使用以下方式实现:
Criteria.where("field1").is(Criteria.where("$ne").is(false).and("$exists").is(true))
但它生成的结果是:
{ "field1" : { $java : org.springframework.data.mongodb.core.query.Criteria@23864e60 }
那么,如何实现我需要的精确查询呢?我不能硬编码查询字符串,因为这些类型的标准是动态生成的,适用于field1,...,fieldN,然后与$or
组合:
statusCriteria = statusCriteria.orOperator(criterias.toArray(new Criteria[criterias.size()]));
AND
操作。当需要在多个表达式中指定相同的字段或运算符时,使用显式的$and
运算符是必要的。 - chridam