MongoDB聚合:如何去除分组名称中的空格与字母?
MongoDB聚合分组前处理分组名称方案
当然可以实现,你只需要在$group阶段的_id字段中使用MongoDB的正则替换操作符,直接对分组名称做清洗,移除所有空格和字母。
修改后的聚合阶段代码
{ $group: { _id: { $regexReplaceAll: { input: "$group.name", find: "[A-Za-z\\s]", replacement: "" } }, studentSchoolIDs: { $push: "$student_school._id" } } }
代码说明
$regexReplaceAll是MongoDB 4.4及以上版本支持的操作符,专门用于正则替换- 正则表达式
[A-Za-z\\s]会匹配所有大小写字母和空格,将这些匹配到的内容替换为空字符串,就能得到你想要的结果(比如把"Y 2"转成"2","Year 2"转成"2") - 如果后续需要调整清洗规则,比如保留其他字符,只需修改正则表达式即可
内容的提问来源于stack exchange,提问作者user19238266
相关产品推荐
相关产品推荐

