在 Mongodb 中进行字符串比较的布尔表达式?
Boolean Expression with String Comparison in Mongodb?
$cond
在mongodb中的定义是这样的:
$cond: { if: { $gte: [ "$qty", 250 ] }, then: 30, else: 20 }
但是,我们可以为字符串这样做吗?我想用正则表达式比较文档中的字符串值,所以这样的东西可以工作:
$cond: { if: { $match: [/sam/, "$name"] }, then: 30, else: 20 }
/sam/
是正则表达式,"$name"
是我要比较的字段。作为旁注,这个表达式将被放入聚合管道中。
不,这目前是不可能的,而且 feature request 已经有一段时间了。
根据您的需要,您可以使用 $substr
来完成您的工作
$cond
在mongodb中的定义是这样的:
$cond: { if: { $gte: [ "$qty", 250 ] }, then: 30, else: 20 }
但是,我们可以为字符串这样做吗?我想用正则表达式比较文档中的字符串值,所以这样的东西可以工作:
$cond: { if: { $match: [/sam/, "$name"] }, then: 30, else: 20 }
/sam/
是正则表达式,"$name"
是我要比较的字段。作为旁注,这个表达式将被放入聚合管道中。
不,这目前是不可能的,而且 feature request 已经有一段时间了。
根据您的需要,您可以使用 $substr