我正在像这样在 mongo 存储库中编写自定义查询:
public interface AuthenticationTokenRepository extends MongoRepository<AuthenticationToken, String>
{
AuthenticationToken save(AuthenticationToken token);
AuthenticationToken findByToken(String token);
@Query("{'user.username' : ?0}")
AuthenticationToken findByUserId(String username);
}
但是当我试图通过 id 找出 AuthenticationToken 时,它就不起作用了。
@Query("{'user._id' : ?0}")
AuthenticationToken findByUserId(String userId);
我在身份验证表中的数据如下:
> db.authenticationToken.find().pretty()
{
"_id" : ObjectId("5565b4d444ae3b1a9228be87"),
"_class" : "com.samepinch.domain.user.AuthenticationToken",
"token" : "545c1d10-d769-41cf-a47c-2d698ec4df72",
"user" : {
"_id" : ObjectId("5565b4d444ae3b1a9228be86"),
"age" : 0,
"username" : "dinesh.dhiman@oodlestechnologies.com",
"firstName" : "Dinesh Dhiman",
"email" : "dinesh.dhiman@oodlestechnologies.com",
"gender" : "male",
"createdDate" : ISODate("2015-05-27T12:13:08.562Z"),
"updatedDate" : ISODate("2015-05-27T12:13:08.562Z")
},
"createdDate" : ISODate("2015-05-27T12:13:08.605Z"),
"updatedDate" : ISODate("2015-05-27T12:13:26.436Z")
}
我想根据 userId 获取数据。谁能帮我。