3
MongoTemplate ของ Spring Data กับ MongoRepository ต่างกันอย่างไร
ฉันจำเป็นต้องเขียนแอปพลิเคชันที่ฉันสามารถทำแบบสอบถามที่ซับซ้อนโดยใช้ข้อมูลสปริงและ mongodb ฉันเริ่มต้นโดยใช้ MongoRepository แต่ต้องดิ้นรนกับการสืบค้นที่ซับซ้อนเพื่อค้นหาตัวอย่างหรือเพื่อทำความเข้าใจไวยากรณ์อย่างแท้จริง ฉันกำลังพูดถึงคำถามเช่นนี้: @Repository public interface UserRepositoryInterface extends MongoRepository<User, String> { List<User> findByEmailOrLastName(String email, String lastName); } หรือการใช้แบบสอบถามที่ใช้ JSON ซึ่งฉันลองโดยการลองผิดลองถูกเพราะฉันไม่เข้าใจไวยากรณ์ที่ถูกต้อง แม้หลังจากอ่านเอกสาร mongodb แล้ว (ตัวอย่างที่ใช้งานไม่ได้เนื่องจากไวยากรณ์ไม่ถูกต้อง) @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); } หลังจากอ่านเอกสารทั้งหมดแล้วดูเหมือนว่าmongoTemplateจะดีกว่าMongoRepositoryมาก ฉันอ้างถึงเอกสารดังต่อไปนี้: http://static.springsource.org/spring-data/data-mongodb/docs/current/reference/html/ ช่วยบอกหน่อยได้ไหมว่าอะไรใช้สะดวกและทรงพลังกว่ากัน mongoTemplateหรือMongoRepository? ทั้งคู่เป็นผู้ใหญ่เหมือนกันหรือคนใดคนหนึ่งขาดคุณสมบัติมากกว่ากัน?