MongoDB $ regex用于整数

时间:2018-09-23 04:51:37

标签: regex mongodb mongodb-query

因此,我正在尝试在查询参数中使用$regex

name[$regex]="^b"

这将返回b开头的bob,bake,bowen等

但是,当我在像INTEGER这样的列上使用正则表达式时

id[$regex]="^1"

即使数据库中存在它们,也不会返回1,11,12,13 ...等。因此,为什么$regex的整数失败,还有哪些替代方法

1 个答案:

答案 0 :(得分:-1)

MongoDB $regex运算符只能用于 string 值。参见official documentation

作为一种简单的解决方法,请使用$where运算符来测试整数:

db.example.find({ $where: "/^1/.test(this.id)" })

$where字符串中,您可以使用this引用当前文档。因此,在您的情况下,this.id是您想要的id字段。