如何檢查是否List<Object>存在并包含partnerRole欄位值等于"CREATOR"且companyId欄位值等于的類的物件"123"?
檔案類:
@Document
public class ApplicationDocument {
List<PartnerDocument> partners = new ArrayList<>();
}
@Document
public class PartnerDocument {
private PartnerRole partnerRole;
private String companyId;
...
public enum PartnerRole {
UNKNOWN_ROLE,
CREATOR,
PARTICIPANT
}
}
我的生成List方法Criteria。但這不起作用,因為我指的partners是好像它是一個PartnerDocument物件,但partners實際上是一個List<PartnerDocument>.
public List<Criteria> getCriteria(Partner.PartnerRole role, String companyId) {
List<Criteria> criteriaList = new ArrayList<>();
criteriaList.add(Criteria.where("partners").exists(true));
criteriaList.add(
Criteria.where("partners.partnerRole").in(role)
);
criteriaList.add(
Criteria.where("partners.partnerRole").in(companyId)
);
return criteriaList;
}
uj5u.com熱心網友回復:
你的第二個標準有錯誤。
Criteria.where("partners.partnerRole").in(companyId)
您正在對照 partnerRole 檢查 companyId。
它應該是
Criteria.where("partners.companyId").in(companyId)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/477719.html
下一篇:查詢每個用戶的檔案數
