我正在使用python脚本连接到mongodb并查询集合。我想找到key" hp"的值。以" cdl"开头。当我尝试通过mongo shell时,此查询成功运行,但通过我的python脚本,我看到了错误。我需要有任何转义字符吗?
./ pymongoconn.py 文件" ./ pymongoconn.py",第20行
用于conn.collection.find中的响应({" hp":/ ^ cdl /},{" n":1," hp":1 ," _id":0," rsid":1," v":1}):
^
SyntaxError: invalid syntax
以下是我的询问:
for response in conn.collection.find({"hp": /^cdl/},{"n":1 ,"hp":1 , "_id":0 ,"rsid" :1, "v":1}):
print (response)
答案 0 :(得分:2)
使用re.compile:
dbm.gnu
答案 1 :(得分:0)
我认为你的语法对于pymongo中的$regex
来说有点不对。
尝试:
conn.collection.find({"hp": {"$regex": "^cdl"}}, {"n":1 ,"hp":1 , "_id":0 ,"rsid" :1, "v":1})
您还可以将$option
添加到$regex
。如果你想要不区分大小写;
conn.collection.find({"hp": {"$regex": "^cdl", "$options": "i"}}))
根据mongo $regex
,here