Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 搜索不带'的字段;与MongoMapper中的正则表达式不匹配_Mongodb_Mongomapper - Fatal编程技术网

Mongodb 搜索不带'的字段;与MongoMapper中的正则表达式不匹配

Mongodb 搜索不带'的字段;与MongoMapper中的正则表达式不匹配,mongodb,mongomapper,Mongodb,Mongomapper,在MongoMapper中,我可以使用以下查询根据正则表达式匹配搜索项目: Foo.where(:name => /Foo.*/) 如何搜索其名称字段与/Foo.*/不匹配的项目?您可以使用 如果您使用的是python(pymongo),这将不起作用,您会遇到一个关于如何使用BSON正则表达式的令人困惑的错误 但是,它将直接接受python正则表达式对象: db['collection'].find({'name': {'$not': re.compile("^__TEST")}})

在MongoMapper中,我可以使用以下查询根据正则表达式匹配搜索项目:

Foo.where(:name => /Foo.*/)
如何搜索其
名称
字段与
/Foo.*/
不匹配的项目?

您可以使用

如果您使用的是python(pymongo),这将不起作用,您会遇到一个关于如何使用BSON正则表达式的令人困惑的错误

但是,它将直接接受python正则表达式对象:

db['collection'].find({'name': {'$not': re.compile("^__TEST")}})

或类似于mongomapper中的内容,也可用于搜索电子邮件字段中未找到电子邮件域的情况,如果为false,则为approved:

non_org_email_users = org.users.where(
  :email => { '$not' => /@#{org.official_email}/i }, 
  approved: false).all
non_org_email_users = org.users.where(
  :email => { '$not' => /@#{org.official_email}/i }, 
  approved: false).all