Java Mongodb@DBRef查询弹簧

Java Mongodb@DBRef查询弹簧,java,spring,mongodb,spring-mvc,spring-boot,Java,Spring,Mongodb,Spring Mvc,Spring Boot,在我的spring项目中,我使用了两个模型作为参考 在令牌对象上具有引用的模型用户 @Document(collection = "user") public class User { @Id public String id; @DBRef public Token token; } 然后我的令牌对象: @Document(collection = "token") public class Token { @Id public String id;

在我的spring项目中,我使用了两个模型作为参考

在令牌对象上具有引用的模型用户

@Document(collection = "user")
public class User {

   @Id
   public String id;
   @DBRef
   public Token token;
}
然后我的令牌对象:

@Document(collection = "token")
public class Token {

   @Id
   public String id;
   public String token;
}
我正在尝试从令牌查询用户。 我尝试创建MongoRepository界面:

@Repository
public interface UserRepository extends MongoRepository<User, String> {
    @Query(value="{ 'token.id' : ?0 }")
    User findByTokenId(String id);
}
@存储库
公共接口UserRepository扩展了MongoRepository{
@查询(value=“{'token.id':?0}”)
用户findByTokenId(字符串id);
}
但这不起作用。如何创建此类或请求?

您可以使用:

@Repository
public interface UserRepository extends MongoRepository<User, String> {
    @Query(value="{ 'token.id' : ?0 }")
    User findAllByToken_Id(String id);
}
@存储库
公共接口UserRepository扩展了MongoRepository{
@查询(value=“{'token.id':?0}”)
用户findAllByToken_Id(字符串Id);
}

您可以添加您试图查询的示例文档吗?User=userRepository.findByTokenId(tokenFound.id);你能试试“token.\u id”吗?同样的错误。我有一个异常错误。java.lang.NullPointerException:null。但是我的tokenFound对象有效在我的用户对象中我有一个标记对象:{$ref,$id}