2013-06-26 52 views
0

使用Spring-Data-Mongo如何限制搜索?使用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()); 
} 

回答

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); 

要使用「其中」你需要添加此導入:

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

限制是不受年齡這樣做!我看不到那麼少! – user2428795

+0

對不起,我誤解了這個問題。我正在更新答案 – AntonioOtero