Was ist der Unterschied zwischen MongoTemplate und MongoRepository von Spring Data?

Ich muss eine Anwendung schreiben, mit der ich komplexe Abfragen mit spring-data und mongodb ausführen kann. Ich habe angefangen, das MongoRepository zu verwenden, hatte jedoch Probleme mit komplexen Abfragen, um Beispiele zu finden oder die Syntax tatsächlich zu verstehen.

Ich spreche über Fragen wie diese:

@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 verstehe. 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 Lesen der gesamten Dokumentation sieht es so ausmongoTemplate ist dann weitaus besser dokumentiertMongoRepository. 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 ist?mongoTemplate oderMongoRepository? Sind beide gleich ausgereift oder fehlt einem mehr als dem anderen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage