Tôi cần viết một ứng dụng mà tôi có thể thực hiện các truy vấn phức tạp bằng cách sử dụng spring-data và mongodb. Tôi đã bắt đầu bằng cách sử dụng MongoRepository nhưng phải vật lộn với các truy vấn phức tạp để tìm ví dụ hoặc để thực sự hiểu Cú pháp.
Tôi đang nói về các truy vấn như thế này:
@Repository
public interface UserRepositoryInterface extends MongoRepository<User, String> {
List<User> findByEmailOrLastName(String email, String lastName);
}
hoặc việc sử dụng các truy vấn dựa trên JSON mà tôi đã thử bằng cách dùng thử và sai vì tôi không hiểu đúng cú pháp. Ngay cả sau khi đọc tài liệu mongodb (ví dụ không hoạt động do sai cú pháp).
@Repository
public interface UserRepositoryInterface extends MongoRepository<User, String> {
@Query("'$or':[{'firstName':{'$regex':?0,'$options':'i'}},{'lastName':{'$regex':?0,'$options':'i'}}]")
List<User> findByEmailOrFirstnameOrLastnameLike(String searchText);
}
Sau khi đọc qua tất cả các tài liệu, có vẻ như đó mongoTemplate
là tài liệu tốt hơn nhiều MongoRepository
. Tôi đang tham khảo tài liệu sau:
http://static.springsource.org/spring-data/data-mongodb/docs/current/reference/html/
Bạn có thể cho tôi biết điều gì là thuận tiện và mạnh mẽ hơn để sử dụng? mongoTemplate
hoặc MongoRepository
? Cả hai đều trưởng thành như nhau hay một trong hai người thiếu nhiều tính năng hơn người kia?