Use the MongoDB query language to query your relational database, typically from frontend.
APACHE-2.0 License
@SpringBootApplication
@EnableJpaRepositories(repositoryBaseClass = ExpressionsRepositoryImpl.class)
public class Application { … }
ExpressionsRepository
:
@Repository
public interface EmployeeRepository extends ExpressionsRepository<Employee, Long> {
}
@PostMapping("/search")
public ResponseEntity<Page<EmployeeDto>> search(@RequestBody Expressions expressions, Pageable pageable) {
return ok().body(
employeeRepository.findAll(expressions, pageable).map(employeeMapper::toDto)
);
}
{
"$or": [
{"lastName": "ibrahim"},
{
"$and": [
{"firstName": "mostafa"},
{"birthDate": {"$gt": "1990-01-01"}}
]
}
]
}
For a quick start see this Medium post or dev.to post or see this demo example on Github.
See documentation website for details about how to get started.
For spring-boot 3.x:
<dependency>
<groupId>com.github.mhewedy</groupId>
<artifactId>spring-data-jpa-mongodb-expressions</artifactId>
<version>0.1.3</version>
</dependency>
For spring-boot 2.x:
<dependency>
<groupId>com.github.mhewedy</groupId>
<artifactId>spring-data-jpa-mongodb-expressions</artifactId>
<version>0.0.8</version>
</dependency>
Special thanks to Rashad Saif and Hamada Elnoby for helping in the design, inspring with ideas, and for doing code review.
This repo has been mentioned in spring.io weekly news.