regex - MongoDB 正则表达式查询 : Why doesn't this work?

标签 regex mongodb

请查看倒数第二个输入。

注意:我使用的是 http://try.mongodb.org/

> person = {fullname : "Derek Litz"}
{
     "fullname" : "Derek Litz"
     }
> db.people.save(person)
"ok"
> db.people.find()

    [ 
      {   "_id" : {   "$oid" : "4df3b39ccc93747e68039f08"   },   "fullname" : "Derek Litz"   }
    ]
> db.people.find({fullname : 'Derek Litz'})

    [ 
      {   "_id" : {   "$oid" : "4df3b39ccc93747e68039f08"   },   "fullname" : "Derek Litz"   }
    ]
> db.people.find({fullname : /^D.*/})

    [ 
      
    ]
> db.people.find({fullname : {$regex : '^D.*'}})

    [ 
      {   "_id" : {   "$oid" : "4df3b39ccc93747e68039f08"   },   "fullname" : "Derek Litz"   }
    ]
>

最佳答案

我认为这只是 try.mongodb.org 中的一个错误。这些在我的本地 mongo shell 中对我有用:

db.people.find({first_name: {$regex: /e/}})
db.people.find({first_name: /e/})

还有 documentation says this :

You may use regexes in database query expressions:

db.customers.find( { name : /acme.*corp/i } );
db.customers.find( { name : { $regex : 'acme.*corp', $options: 'i' } } );
[...]
db.customers.find( { name : { $regex : /acme.*corp/i, $nin : ['acmeblahcorp'] } } );

因此支持字符串和 RegExp 文本版本。

关于regex - MongoDB 正则表达式查询 : Why doesn't this work?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6317784/

相关文章:

python - 在 pandas 中使用正则表达式验证字符串

MongoDB 高级查询——使用另一个字段的值

php - MongoDB php 扩展不适用于 Windows 7

java - MongoDB 唯一索引不起作用

Javascript 正则表达式捕获

java - 如何检查一定数量的给定字符

html - 使用正则表达式在 html 中查找重复的 id 键

python - 如何从python列表的每个元素中删除前缀?

MongoDB:匹配数组中的非空文档

node.js - mongodb如何加入集合