来自字段 Spring 数据和 Mongodb 的最大值
Max value from field Spring Data and Mongodb
我想计算我的实体"User"中字段代码的最大值,使用Spring数据,我看到代码如下:
".find({}).sort({"updateTime" : -1}).limit(1)"
但我不知道如何使用@Query
将它集成到我的"repository"中
或另一个等效解决方案,而不是 return 所述字段的最大值。
有人可以帮我吗?
谢谢。
您可以为存储库编写自定义方法。
例如你有:
public interface UserRepository extends MongoRepository<User, String>, UserRepositoryCustom {
...
}
存储库的其他方法:
public interface UserRepositoryCustom {
User maxUser();
}
然后执行:
public class UserRepositoryImpl implements UserRepositoryCustom {
@Autowired
private MongoTemplate mongoTemplate;
@Override
public User maxUser() {
final Query query = new Query()
.limit(1)
.with(new Sort(Sort.Direction.DESC, "updateTime"));
return mongoTemplate.findOne(query, User.class)
}
}
您可以使用 spring 数据方法语法,例如:
public User findTopByOrderByUpdateTimeAsc()
可在此处找到参考:https://www.baeldung.com/jpa-limit-query-results#1first-ortop
我想计算我的实体"User"中字段代码的最大值,使用Spring数据,我看到代码如下:
".find({}).sort({"updateTime" : -1}).limit(1)"
但我不知道如何使用@Query
将它集成到我的"repository"中或另一个等效解决方案,而不是 return 所述字段的最大值。 有人可以帮我吗? 谢谢。
您可以为存储库编写自定义方法。 例如你有:
public interface UserRepository extends MongoRepository<User, String>, UserRepositoryCustom {
...
}
存储库的其他方法:
public interface UserRepositoryCustom {
User maxUser();
}
然后执行:
public class UserRepositoryImpl implements UserRepositoryCustom {
@Autowired
private MongoTemplate mongoTemplate;
@Override
public User maxUser() {
final Query query = new Query()
.limit(1)
.with(new Sort(Sort.Direction.DESC, "updateTime"));
return mongoTemplate.findOne(query, User.class)
}
}
您可以使用 spring 数据方法语法,例如:
public User findTopByOrderByUpdateTimeAsc()
可在此处找到参考:https://www.baeldung.com/jpa-limit-query-results#1first-ortop