【问题标题】:Using Spring-Data-Mongo how do I limit search?使用 Spring-Data-Mongo 如何限制搜索?
【发布时间】:2013-06-24 00:32:19
【问题描述】:

使用 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());
}

【问题讨论】:

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


    【解决方案1】:

    使用这个:

    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;
    

    【讨论】:

    • 限制不是按年龄做的!然后我看不到了!
    • 对不起,我误解了这个问题。我正在更新答案
    猜你喜欢
    • 2022-01-14
    • 1970-01-01
    • 2014-08-19
    • 2019-06-08
    • 1970-01-01
    • 1970-01-01
    • 2016-05-15
    • 2016-07-13
    • 1970-01-01
    相关资源
    最近更新 更多