我不想使用 DBRef。我想要一个这样的数据库:不同的学校有自己的集合,比如
- 集合名称“school1-students”
- 集合名称“school2-students”
- 集合名称“school3-students”......
每个集合都用于保存学生信息。
据我所知,我们可以使用 @Document(collection = "school4") 或使用 MongoTemplate 操作来管理集合名称。但是我想使用 MongoRepository。如果有人可以帮助我,我将不胜感激。
我不想使用 DBRef。我想要一个这样的数据库:不同的学校有自己的集合,比如
每个集合都用于保存学生信息。
据我所知,我们可以使用 @Document(collection = "school4") 或使用 MongoTemplate 操作来管理集合名称。但是我想使用 MongoRepository。如果有人可以帮助我,我将不胜感激。
像这样的东西应该工作:
public class PerSchoolStudentRepository {
public static CrudRepository<Student, ObjectId> buildRepository(String school, MongoOperations mongoOperations) {
MongoPersistentEntity<Student> persistentEntity = (MongoPersistentEntity<Student>) mongoOperations.getConverter().getMappingContext().getPersistentEntity(Student.class);
MongoEntityInformation<Student, ObjectId> mongoEntityInformation = new MappingMongoEntityInformation<Student, ObjectId>(persistentEntity, school+"Students");
return new SimpleMongoRepository<Student, ObjectId>(mongoEntityInformation, mongoOperations);
}
}