【发布时间】:2020-07-28 22:27:25
【问题描述】:
我一直在使用 mongorepository 和 spring 数据查询 mongodb。
我的函数如下所示:
@Repository
public interface UserRepository extends MongoRepository<User,String> {
@Query(value="{'email' : ?0}")
User findByEmail(String email);
}
我在 mongodb 中的收藏是这样的
> db.user.find();
{ "_id" : "1", "email" : "abc@gmail.com", "password" : "$2a$12$lDJgMZNLAcxv2J.QTZSjAuWJdPleBxXq.M4aj9itrR1RMDkgmwN7m", "name" : "def", "active" : 1, "isLoacked" : false, "isExpired" : false, "isEnabled" : true, "_class" : "com.x.gateway.auth.User" }
它总是返回空值。
【问题讨论】:
-
您使用哪个邮箱进行查询?
-
电子邮件:abc@gmail.com
-
尝试使用 List
可能是 email 根本不是一个唯一字段。 -
@AbinashGhosh 你的建议有效` public interface UserRepository extends MongoRepository
{ //@Query(value="{'email' : ?0}") List findByEmail(String电子邮件); } `谢谢伙计。现在将尝试使该字段独一无二。如果您在 mongo 中有任何关于 db 模式标准的备忘单,请附上它,这将对本主题有很大帮助。
标签: mongodb spring-boot spring-data