gpt4 book ai didi

java - Spring Data MongoDB 使用 DBRef 按嵌套属性(非 ID)查找

转载 作者:行者123 更新时间:2023-11-30 06:53:51 24 4
gpt4 key购买 nike

使用 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);
}

A question similar已被问到,但没有回答。让我觉得可能不支持这种类型的查找。

这看起来相当简单,但是,findByRolesRoleName 的结果始终是一个空列表(大小 = 0)。

有没有人为这种类型的关系正常工作找到了 findBy?

最佳答案

无法查询 DBRef 的非 id 属性在 MongoDB 本身。因此,使用 Spring Data MongoDB 不可能这样做。

关于java - Spring Data MongoDB 使用 DBRef 按嵌套属性(非 ID)查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36989054/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com