MongoDB在python中不返回任何结果

MongoDB在python中不返回任何结果,python,mongodb,Python,Mongodb,为什么mongodb返回shell中的结果而不是python中的结果 外壳: > db.posts.find({ Body: /html/ }).count() 5524 Python代码: query = {"Body": '/html/'} r = mo_db.posts.find(query) print r.count() > 0 所有其他查询都可以正常工作,而find()也可以正常工作。有没有其他方法来处理割伤 我还测试了r'/html/'和u'/html/' 您正在以

为什么mongodb返回shell中的结果而不是python中的结果

外壳:

> db.posts.find({ Body: /html/ }).count()
5524
Python代码:

query = {"Body": '/html/'}
r = mo_db.posts.find(query)
print r.count()
> 0
所有其他查询都可以正常工作,而find()也可以正常工作。有没有其他方法来处理割伤

我还测试了r'/html/'和u'/html/'

您正在以字符串形式查询值,而不是实际的正则表达式对象。/../syntax是用于构造regex的javascript语法,但在python中,需要使用
re
模块

试试这个:

import re
pattern = re.compile("html")
query = {"Body": pattern}
r = mo_db.posts.find(query)
print r.count()

工作。谢谢你,伙计。我以为/../是由mongo处理的。