【问题标题】:Mongodb @DBRef query springMongodb @DBRef 查询弹簧
【发布时间】:2017-05-21 16:34:27
【问题描述】:

我的 spring 项目,我使用了两个带有参考的模型。

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

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

   @Id
   public String id;
   @DBRef
   public Token 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.findByTokenId(tokenFound.id);
  • 你可以试试 'token._id' 吗?
  • 同样的错误。我得到一个异常错误。 java.lang.NullPointerException:空。但我的 tokenFound 对象是有效的
  • 在我的用户对象中,我有一个令牌对象:{ $ref, $id }

标签: java spring mongodb spring-mvc spring-boot


【解决方案1】:

你可以使用:

@Repository
public interface UserRepository extends MongoRepository<User, String> {
    @Query(value="{ 'token.id' : ?0 }")
    User findAllByToken_Id(String id);
}

【讨论】:

    猜你喜欢
    • 2012-11-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-03
    • 1970-01-01
    相关资源
    最近更新 更多