Python 3.x 在pymongo中使用带有可变值的正则表达式

Python 3.x 在pymongo中使用带有可变值的正则表达式,python-3.x,pymongo,pymongo-3.x,Python 3.x,Pymongo,Pymongo 3.x,我在mongo shell中有一个变量name,我可以这样查询 db.xxxx.find({"path" : {"$regex" : name , "$options" : "i"}}) query ={"path" : {"$regex" : name , "$options" : "i"}} result=list(db.xxxx.find(query)) 但我在pymongo使用的是这样的 db.xxxx.find({"path" : {"$regex" : name , "$opti

我在mongo shell中有一个变量
name
,我可以这样查询

db.xxxx.find({"path" : {"$regex" : name , "$options" : "i"}})
query ={"path" : {"$regex" : name , "$options" : "i"}}
result=list(db.xxxx.find(query))
但我在pymongo使用的是这样的

db.xxxx.find({"path" : {"$regex" : name , "$options" : "i"}})
query ={"path" : {"$regex" : name , "$options" : "i"}}
result=list(db.xxxx.find(query))
它返回[]。当我检查查询时,我得到了这样一个问题查询:想象一下
name==hyper

 query = {"path" : {"$regex" : '"hyper"', "$options" : "i"}}

有一个“名称中存在导致空结果的错误”如何解决此问题?

此示例似乎有效;请查看它是否有助于您:

import pymongo

db = pymongo.MongoClient()['mydatabase']
db.mycollection.delete_many({})
db.mycollection.insert_one({'path': 'You Now Have \"Two Problems\"'})
name = 've \"tw'
query ={"path" : {"$regex" : name , "$options" : "i"}}
print(list(db.mycollection.find(query)))
结果:

[{'_id': ObjectId('5e18c97d2b0b356dbd0019a1'), 'path': 'You Now Have "Two Problems"'}]