Đây là một chủ đề thực sự cũ, nhưng tôi sẽ thêm một số thông tin tốt hơn ở đây trong trường hợp ai đó tìm thấy cuộc thảo luận này, bởi vì mọi thứ linh hoạt hơn một chút so với những gì câu trả lời được chấp nhận yêu cầu.
Bạn có thể sử dụng một biểu thức cho tên bộ sưu tập vì spel là một cách chấp nhận được để phân giải tên bộ sưu tập. Ví dụ:nếu bạn có một thuộc tính trong tệp application.properties của mình như sau:
mongo.collection.name = my_docs
Và nếu bạn tạo một Spring bean cho thuộc tính này trong lớp cấu hình của bạn như sau:
@Bean("myDocumentCollection")
public String mongoCollectionName(@Value("${mongo.collection.name}") final String collectionName) {
return collectionName
}
Sau đó, bạn có thể sử dụng nó làm tên bộ sưu tập cho mô hình tài liệu liên tục như sau:
@Document(collection = "#{@myDocumentCollection}")
public class SomeModel {
@Id
private String id;
// other members and accessors/mutators
// omitted for brevity
}