簡體   English   中英

MongoDB Spring數據查詢列表計數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM