Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.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
Python 在PyMongo中使用regex动态构建查询_Python_Json_Mongodb_Pymongo - Fatal编程技术网

Python 在PyMongo中使用regex动态构建查询

Python 在PyMongo中使用regex动态构建查询,python,json,mongodb,pymongo,Python,Json,Mongodb,Pymongo,我想从Python中查询MongoDB上的不同字段,就像在高级搜索中一样 仅使用一个字段使示例保持简单,如果我在Mongo上手动查询{'Title':/my string/},我将得到预期的结果 在Python上,我正在执行以下操作: query = {} args = request.form for arg in args: key = "{0}".format(arg) if args[arg] != "": query[key] = "/" + args[arg].low

我想从Python中查询MongoDB上的不同字段,就像在高级搜索中一样

仅使用一个字段使示例保持简单,如果我在Mongo上手动查询
{'Title':/my string/}
,我将得到预期的结果

在Python上,我正在执行以下操作:

query = {}
args = request.form
for arg in args:
  key = "{0}".format(arg)
  if args[arg] != "":
    query[key] = "/" + args[arg].lower() + "/"
但是,查询是这样的(请注意引号):

所以我没有得到任何结果。如何实现正确的查询?

列出:

conditions = [{field: {"$regex": value.lower()}} for field, value in args.items()]
然后,使用
$或
$和
加入条件(取决于您希望如何应用它们):

conditions = [{field: {"$regex": value.lower()}} for field, value in args.items()]
db.col.find({"$or": conditions})