Spring-data ve mongodb kullanarak karmaşık sorgular yapabileceğim bir uygulama yazmam gerekiyor. MongoRepository'yi kullanarak başlıyordum, ancak örnekler bulmak veya Sözdizimini gerçekten anlamak için karmaşık sorgularla uğraştım.
Bunun gibi sorgulardan bahsediyorum:
@Repository
public interface UserRepositoryInterface extends MongoRepository<User, String> {
List<User> findByEmailOrLastName(String email, String lastName);
}
veya sözdizimini doğru anlamadığım için deneme yanılma yoluyla denediğim JSON tabanlı sorguların kullanımı. Mongodb belgelerini okuduktan sonra bile (yanlış sözdizimi nedeniyle çalışmayan örnek).
@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);
}
Tüm belgeleri okuduktan sonra, o mongoTemplate
zaman çok daha iyi belgelenmiş görünüyor MongoRepository
. Aşağıdaki belgelere atıfta bulunuyorum:
http://static.springsource.org/spring-data/data-mongodb/docs/current/reference/html/
Bana neyin daha kullanışlı ve daha güçlü olduğunu söyleyebilir misiniz? mongoTemplate
veya MongoRepository
? İkisi de aynı olgun mu yoksa biri diğerinden daha fazla özelliğe mi sahip?