I am writing custom query in mongo repository like this :
public interface AuthenticationTokenRepository extends MongoRepository<AuthenticationToken, String>
{
AuthenticationToken save(AuthenticationToken token);
AuthenticationToken findByToken(String token);
@Query("{'user.username' : ?0}")
AuthenticationToken findByUserId(String username);
}
But when i tried to findout AuthenticationToken by id then it is not working.
@Query("{'user._id' : ?0}")
AuthenticationToken findByUserId(String userId);
My data in authentication table is as following:
> 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")
}
I want to fetch data on the basis of userId. Can anyone help me.