使用SpringData MongoDB(spring-data-mongodb 1.9.1.RELEASE)我需要根据@DBRef链接的用户角色查询用户。
用户
@Document(collection = "user")
public class User {
private String userName;
private boolean isActive;
@DBRef
private List<Role> roles;
}
作用
@Document(collection = "role")
public class Role {
private String roleName;
private String description;
private long roleNum;
}
用户存储库
@Repository
public interface UserRepository extends MongoRepository<User, String> {
public User findByUserName(String username);
@Query(value = "{'roles.$roleName' : ?0}")
public List<User> findByRolesRoleName(String roleName);
}
已经询问了question similar,但没有回答。让我觉得可能不支持这种类型的findBy。
这看起来相当简单,但是,findByRolesRoleName的结果总是一个空列表(size = 0)。
有没有人因为这种关系正常工作而得到了一个findBy?