MongoDB的$cond条件语句then块中如何使用正则匹配title字段?
实现方案
在MongoDB聚合查询的$cond分支内做正则匹配,需要使用聚合专属的$regexMatch操作符,替换原then代码块中的全等匹配逻辑即可,修改后的代码示例如下:
$cond: { if: { $eq: ["$postType", "sports"] }, then: { $regexMatch: { input: "$title", regex: "El classic", // 此处可替换为动态传入的匹配关键词 options: "i" // 可选参数,i表示忽略大小写,不需要可删除 } }, else: {} }
注意事项
- 如果需要自定义正则规则,直接写入
regex字段即可,比如要匹配以指定关键词开头的内容可以写为regex: "^El classic" - 该操作符要求MongoDB版本 >=4.2,低版本环境建议升级后使用,避免写冗余的兼容逻辑
内容的提问来源于stack exchange,提问作者Fehmy
相关产品推荐
相关产品推荐

