PyMongo .find()特殊字符

时间:2016-10-12 13:31:34

标签: python mongodb pymongo

所以我在MongoDB中建立了一个数据库,大多数文档都包含一个特殊的代码,可以以*开头并以#结束。当我在MongoDb命令行上使用以下查询时,它工作正常,但是当我尝试在python脚本中使用它时,它不起作用。

cursor = collect.find({$and:[{"key":/.*\*.*/},{"key":/.*\#.*/}]})

我认为问题在于查询中的#,但当我将其包装在“”中时,它不起作用。

cursor = collect.find({'$and':[{"key":'/.*\*.*/'},{"key":'/.*\#.*/'}]})

请注意我在'和$和第一个表达式匹配,因为当我尝试运行它时会出现语法错误。

由于

1 个答案:

答案 0 :(得分:0)

如果要使用正则表达式进行查询,则必须创建Python正则表达式对象。请注意,在这种情况下,字符串不应该被mockMvc包围。

//

或者,您可以使用import re cursor = collect.find({'$and':[{"key":re.compile('.*\*.*')},{"key":re.compile('.*\#.*')}]}) 运算符

$regex