Ich muss eine Anwendung schreiben, mit der ich komplexe Abfragen mit Spring-Data und Mongodb durchführen kann. Ich habe mit der Verwendung des MongoRepository begonnen, hatte jedoch Probleme mit komplexen Abfragen, um Beispiele zu finden oder die Syntax tatsächlich zu verstehen.
Ich spreche von Fragen wie diesen:
@Repository
public interface UserRepositoryInterface extends MongoRepository<User, String> {
List<User> findByEmailOrLastName(String email, String lastName);
}
oder die Verwendung von JSON-basierten Abfragen, die ich durch Ausprobieren ausprobiert habe, weil ich die Syntax nicht richtig verstanden habe. Auch nach dem Lesen der Mongodb-Dokumentation (nicht funktionierendes Beispiel aufgrund falscher Syntax).
@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);
}
Nach dem Durchlesen der gesamten Dokumentation scheint dies mongoTemplate
weitaus besser dokumentiert zu sein MongoRepository
. Ich beziehe mich auf folgende Dokumentation:
http://static.springsource.org/spring-data/data-mongodb/docs/current/reference/html/
Können Sie mir sagen, was bequemer und leistungsfähiger zu verwenden ist? mongoTemplate
oder MongoRepository
? Sind beide gleich ausgereift oder fehlt einem von ihnen mehr Funktionen als dem anderen?