所以我在MongoDB中建立了一个数据库,大多数文档都包含一个特殊的代码,可以以*开头并以#结束。当我在MongoDb命令行上使用以下查询时,它工作正常,但是当我尝试在python脚本中使用它时,它不起作用。
cursor = collect.find({$and:[{"key":/.*\*.*/},{"key":/.*\#.*/}]})
我认为问题在于查询中的#,但当我将其包装在“”中时,它不起作用。
cursor = collect.find({'$and':[{"key":'/.*\*.*/'},{"key":'/.*\#.*/'}]})
请注意我在'和$和第一个表达式匹配,因为当我尝试运行它时会出现语法错误。
由于
答案 0 :(得分:0)
如果要使用正则表达式进行查询,则必须创建Python正则表达式对象。请注意,在这种情况下,字符串不应该被mockMvc
包围。
//
或者,您可以使用import re
cursor = collect.find({'$and':[{"key":re.compile('.*\*.*')},{"key":re.compile('.*\#.*')}]})
运算符
$regex