我正在尝试查询包含嵌套数组的mongo db文档。
这是我的豆子:
public class Invitation {
@JsonIgnore
private UUID id;
@DBRef
private Personne personne;
private List<Boolean> disponibilites;
private InvitationStatus status;
@DBRef
private Groupe groupe;
和Groupe: @Document(collection =“groupe”)
public class Groupe {
@Id
private String id;
private String nom;
private List<Personne> membres;
@DBRef
private Personne owner;
public Groupe(){
}
这是我试图查询的文件:
@Document(collection = "evenement")
public class Sondage {
@Id
private String id;
private String nom;
// @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date dateCreation;
private Date dateExpiration;
private List<Invitation> invitations;
所以这是我的问题:
Criteria finished = Criteria.where(SONDAGE_STATUS).is(SondageStatus.FINISHED);
Criteria isExpired = Criteria.where(DATE_EXPIRATION).gt(new Date());
// liste des personnes invitées dans un groupe
Criteria member = Criteria.where("invitations.groupe.membres").elemMatch(Criteria.where("id").is(personId));
Query bquery = new Query(new Criteria().andOperator(isExpired,finished,member));
bquery.with(sort);
bquery.fields().position("invitations.groupe.membres", 1);
List<Sondage> membersInvitationList = mongoTemplate.find(bquery, Sondage.class);
当我启动我的服务时,我收到此错误:org.springframework.data.mapping.model.MappingException:无效的路径引用invitations.groupe.membres.id!关联只能直接指向或通过他们的id属性!
有人可以帮我吗?