2

我在尝试编写一个返回 mongodb 中所有大写五个字母代码的查询时遇到了麻烦。到目前为止我有这个:

db.foo.find({f : {$regex : [/[A-Z]{5}/] } }).count()

这是不正确的,因为它返回的结果是整个集合的大小,我知道至少有 4000 个条目不是大写的。我没有太多使用正则表达式的经验,所以我很难知道出了什么问题。

4

2 回答 2

5

我认为您的正则表达式是错误的,请尝试:

db.foo.find({f : {$regex : /[A-Z]{5}/ } }).count()
于 2012-08-07T17:50:43.653 回答
3

$regex除非您尝试一次执行多个 $ 操作,否则您不需要运算符。

db.foo.find({f: /[A-Z]{5}/})

会工作得很好。

于 2012-08-07T17:53:08.800 回答