mongodb在将其发送到后端之前是否从引用中获取所有数据,如果是,则如何在Spring Boot中对其进行控制

问题描述

 {
        "id": "5fa0f5a843d8584b9aac129b","username": "testUser3","fullName": "test User Three","profileImageURL": null,"telephoneNumber": "0773234567","email": "test3@test.com","password": "ENCRYPTED","resetCode": 0,"emailVerificationCode": 0,"updated": false,"roles": [
            {
                "id": "5f89e90f5603281a4b6ccc9a","name": "ROLE_TEAM_MEMBER"
            },{
                "id": "5f89e90f5603281a4b6ccc9b","name": "ROLE_TEAM_leader"
            }
        ],"verified": true,"emailVerified": false
    },

enter image description here

在这里您可以看到,当我检索一个用户对象时,它还会向我发送所有角色的详细信息(OID和名称),如果我在检索数据时不想要这些角色怎么办

下面是用户模型

@Document(collection = "users")
public class User {
    @Id
    private String id;

    @NotBlank
    @Indexed(unique = true)
    @Size(min = 5,max = 25)
    private String username;

    @NotBlank
    @Size(min = 5,max = 100)
    private String fullName;

    //optional
    private String profileImageURL;

    //optional
    @Size(min = 9,max = 14)
    @Indexed(unique = true)
    private String telephoneNumber;

    @NotBlank
    @Email
    @Indexed(unique = true)
    private String email;

    @NotBlank
    @Size(max = 120)
    private String password;

    private boolean isverified = false;

    private boolean isEmailVerified = false;

    //code for password reset functionality
    @Size(min = 6,max = 6)
    @Indexed(unique = true)
    private int resetCode;

    //code for verifying email address by sending a link
    @Size(min = 6,max = 6)
    @Indexed(unique = true)
    private int emailVerificationCode;

    private boolean updated = false;

    @DBRef
    private Set<Role> roles = new HashSet<>();

下面是UserRepo

public interface UserRepository extends MongoRepository<User,String> {

    Optional<User> findByUsername(String username);

    Optional<User> findById(String username);

    Optional<User> findByEmail(String username);

    Optional<User> findByTelephoneNumber(String username);

    Optional<User> findByEmailVerificationCode(int code);

    Optional<User> findByResetCode(int code);

    Boolean existsByUsername(String username);

    Boolean existsByEmail(String email);

    Boolean existsByTelephoneNumber(String email);

    Optional<List<User>> findAllByRolesNotContaining(Role role);
   
}

我想检索没有引用列表的用户,如何使用spring boot mongodb做到这一点

以下是随机字符串,无需阅读

asdja sd'asjdasidb aibsdou absIoUdb ajbsdobas IoUbdib ISB doabsubdiabsiudb iasbdiuabsijdbijabsidjbajbsdjibajsbdjbasjidbijasbidjbaijsbdibaijsbjodbaojsd boabsdoboj dbijb JB JB jabsij dboabsdoi basodb aobsdabsodubaisbd jasdba osudbaousdoabsfb BB OIB sodbf aobsdoqb oibi aoboia bosbd aisbdi博一个BD aosdj AJD ASDOS daoisndoi AO OA sindosaxoas doinasi

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...