请参见倒数第二个输入。
注意:我使用的是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" }
]
>
答案 0 :(得分:9)
我认为这只是try.mongodb.org
中的一个错误。这些在我的本地mongo
shell中为我工作:
db.people.find({first_name: {$regex: /e/}})
db.people.find({first_name: /e/})
您可以在数据库查询表达式中使用正则表达式:
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'] } } );
因此支持string和RegExp文字版本。
答案 1 :(得分:2)
似乎http://try.mongodb.org/由于某种原因不支持正则表达式。真正的控制台还可以。