我正在使用SomeArray
和SpringBoot1.5.4
。现在,我使用spring-data-mongodb
注解使用Json Query从文档中获取数据。
我有以下实现:
在@Query
中:
PlayAndEarnProgramRepository
Play&Earn模型:
@Query(value="{'_id' : ?0 , 'vouchers.is_deleted' : ?1, 'vouchers.is_expired' : ?2}",fields="{'vouchers' : 1}")
public List<VouchersPAndE> getActiveVoucherByplayAndEarnId(String id,Boolean isDeleted,Boolean isExpired);
和repoMethod的调用:
@Id
@Field(ID)
private String id;
@Field(PLAYANDEARNID)
private String playAndEarnId = UUID.randomUUID().toString();
@Field(MERCHANTID)
private String merchantId;
@Field(VOUCHERS)
private List<VouchersPAndE> vouchers;
我想获取有效的凭单。但是出现以下异常:
playAndEarnProgramRepo.getActiveVoucherByplayAndEarnId(program.getId(),false,false);
有人可以告诉我我在做什么错吗?
答案 0 :(得分:1)
您使用了错误的返回类型,因为错误表明没有与结果绑定的id字段 您需要将结果绑定到您的Play&Earn模型中:
db.PlayAndEarn.find({"_id" : ID , "vouchers.is_deleted" : false, "vouchers.is_expired" : FALSE},{"vouchers" : 1})
它将显示数据格式。