因此,我正在尝试在查询参数中使用$regex
name[$regex]="^b"
这将返回b
开头的bob,bake,bowen等
但是,当我在像INTEGER这样的列上使用正则表达式时
id[$regex]="^1"
即使数据库中存在它们,也不会返回1,11,12,13 ...等。因此,为什么$regex
的整数失败,还有哪些替代方法
答案 0 :(得分:-1)
MongoDB $regex
运算符只能用于 string 值。参见official documentation。
作为一种简单的解决方法,请使用$where
运算符来测试整数:
db.example.find({ $where: "/^1/.test(this.id)" })
在$where
字符串中,您可以使用this
引用当前文档。因此,在您的情况下,this.id
是您想要的id
字段。