[英]MongoDB Spring-data query list count
我有一個簡單的模型
@Document(collection = "persons")
public class Person {
@Id
private Integer id;
private String name;
private Integer age;
private List<Phone> phones;
//Getters, setters...
}
我有一個擁有2個電話的用戶和一個擁有1個電話的用戶。 我想創建一個查詢,該查詢返回具有多個電話的每個人。 在mongodb shell中,我使用以下命令解決了查詢:
db.persons.find({$where: 'this.phones.length > 1'})
但是在Java代碼中,我無法重現它。 我寫了一些我認為應該有用的東西
Query query = new Query(Criteria.where("phones.length").gt(1));
return mongoTemplate.find(query, Person.class);
但這不是
我正在使用mongodb 2.4 mongo-java-driver-2.11.1 spring 3.2.2 spring-data-commons-1.5.0。
任何幫助將不勝感激! 謝謝
我找到了解決方案,正確的查詢是
new BasicQuery("{ $where: \"this.phones.length > 1\" }")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.