public interface UserRepository extends MongoRepository<User, String> {
@Query(value = "{ 'createdAt' : {$gte : ?0, $lte: ?1 }}")
public ArrayList<User> findbyCreatedAtBetween(Date from, Date to);
}
如果上述方法不适合您,请创建自定义界面和实现类以执行自定义查询.例如,创建一个名称附加自定义的接口:
public interface UserRepositoryCustom {
public List<User> findbyCreatedAtBetween(Date from, Date to);
}
修改UserRepository并添加要扩展的UserRepositoryCustom接口:
@Repository
public interface UserRepository extends UserRepositoryCustom, MongoRepository {
}
创建实现类以实现UserRepositoryCustom接口中定义的方法.
public class UserRepositoryImpl implements UserRepositoryCustom {
@Autowired
MongoTemplate mongoTemplate;
@Override
public ArrayList<User> findbyCreatedAtBetween(Date from, Date to) {
return mongoTemplate.find(
Query.addCriteria(Criteria.where("createdAt").gte(from).lte(to));
}
}