使用Spring-Data-Mongo如何限制搜索?

时间:2013-06-26 18:05:09

标签: spring mongodb spring-mvc spring-data spring-data-mongodb

使用Spring-Data-Mongo如何限制搜索?

我想找到19岁以上但50岁以下的人?该领域被称为“年龄”。以下代码无效

public void countUnderAge()
{
    List<Person> results = null;

    Query query = new Query();
    Criteria criteria = new Criteria();
    criteria = criteria.lte("21");

    query.addCriteria(criteria);
    results = mongoTemplate.find(query, Person.class);

    logger.info("Total number of under age in database: {}", results.size());
}

1 个答案:

答案 0 :(得分:0)

使用此:

Query query= new Query();
query.addCriteria(where("age").lte(21)); 
List<Person> results = mongoTemplate.find(query, Person.class);

您缺少where子句的字段名称。 你也可以这样做:

Query query = new Query();
Criteria criteria = new Criteria();
criteria = where("age").lte("21");
query.addCriteria(criteria);

要使用“where”,您需要添加此导入:

import static org.springframework.data.mongodb.core.query.Criteria.where;