regex - 整数值的 MongoDB 正则表达式搜索

标签 regex mongodb mongodb-query aggregation-framework

我想在 MongoDB 中正则表达式搜索一个整数值。这可能吗?

我正在构建一个 CRUD 类型接口(interface),该接口(interface)允许 * 在各个字段中使用通配符。我正在尝试为一些整数字段保持 UI 一致。

考虑:

> db.seDemo.insert({ "example" : 1234 });
> db.seDemo.find({ "example" : 1234 });
{ "_id" : ObjectId("4bfc2bfea2004adae015220a"), "example" : 1234 }
> db.seDemo.find({ "example" : /^123.*/ });
> 

如您所见,我插入了一个对象,并且能够通过值找到它。如果我尝试一个简单的正则表达式,我实际上找不到对象。

谢谢!

最佳答案

如果您想对数字进行模式匹配,在 mongo 中执行此操作的方法是使用 $where 表达式并传入模式匹配。

> db.test.find({ $where: "/^123.*/.test(this.example)" })
{ "_id" : ObjectId("4bfc3187fec861325f34b132"), "example" : 1234 }

关于regex - 整数值的 MongoDB 正则表达式搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2908100/

相关文章:

MongoDB 副本集阻止对辅助的查询

mongodb - 具有嵌套嵌入文档和 $project 的 Mongo 聚合管道 $lookup

Mongodb:从数组中查找和更新对象属性

Javascript 从短代码字符串中提取属性

javascript - Node/ Mongoose - 从数组中删除 ObjectId

java - 如何在 Struts 2 中仅获取特定字段作为响应

MongoDB 在多个字段上建立索引

java - 如何忽略mongodb条件查询中的空参数

java - (?!a){0} 是什么?在 Java 正则表达式中是什么意思?

c++ - 正则表达式在 #include 双引号内用反斜杠替换斜杠