Python 在PyMongo中使用regex动态构建查询
我想从Python中查询MongoDB上的不同字段,就像在高级搜索中一样 仅使用一个字段使示例保持简单,如果我在Mongo上手动查询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
{'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})