我有一个名为“ Google_Analytics_Extraction” 的集合,该集合保留了一个包含名为viewID的属性的spring pojo类。我需要通过将viewID添加到基本名称“ Google_Analytics_Extraction” 的末尾来存储每个viewID的差异集合,就像“ Google_Analytics_Extraction_xxxx” 。
我知道我们可以通过mongoTemplate来执行它,因为我需要使用@Document批注动态地执行它,也许使用 SPeL 语言或其他方式。
这是我的课程
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
@org.springframework.data.mongodb.core.mapping.Document("Google_Analytics_Extraction_")
public class GAnalyticsDataEntity {
@Id
private String id;
private String viewID;
private String dateExtraction;
private String fromToDate;
private Document dimensionDocument;
private Document metricDocument;
这可能吗?我该怎么办?
答案 0 :(得分:0)
使用Spel语言解决了问题
@org.springframework.data.mongodb.core.mapping.Document("Google_Analytics_Extraction__#{@mongoConfig.getDefaultViewID()}")
public class GAnalyticsDataEntity {
@Id
private String id;
private String viewID;
private String dateExtraction;
private String fromToDate;
private Document dimensionDocument;
private Document metricDocument;
我将带有吸气剂的bean MongoConfig添加到默认视图ID
@Component
@Getter
@Setter
public class MongoConfig {
private String defaultViewID;
@PostConstruct
public void initViewt() {
defaultViewID = "36293746";
}
}
在调用save方法之前,此setId会更改此
mongoConfig.setDefaultViewID(viewID);
gAnalyticsEntityRepository.saveAll(gaKeywordReportingList);
谢谢