使用 Spring Data 的ProjectionOperation类在 MongoDB 上创建聚合查询时,使用带有“$”(例如“test$”)字符的字段会导致IllegalArgumentException
验证 spring 数据 mongodb 源时,我注意到在AggregationField类的构造函数中执行了字段名称的清理。Fields.java 类
private static String cleanUp(String source) {
if (Aggregation.SystemVariable.isReferingToSystemVariable(source)) {
return source;
}
int dollarIndex = source.lastIndexOf('$');
return dollarIndex == -1 ? source : source.substring(dollarIndex + 1);
}
MongoDB 中字段的命名不鼓励使用“$”字符,或者这是 Spring Data 问题?
沧海一幻觉
跃然一笑
相关分类