使用 pymongo 查询 mongodb

querying mongodb using pymongo

我刚开始使用 mongodb 并设置了一个测试数据库来处理我创建的几个脚本的网络抓取结果。现在,date_found 正在作为字符串加载。当我在 mongohub 中 运行 这个时:

{"date_found" : /.*2015-05-02.*/}

我得到了所有带有“2015-05-02”的 collections。太棒了!

然而,当我 运行:

for item in collection.find({"date_found": "/.*2015-05-02.*/"}):
    print item

我一无所获。

另外,这个:

for item in collection.find():
    print item

给了我所有的 collections,所以似乎一切都在我可以查询数据库的范围内。

有没有人可以告诉我我犯了什么愚蠢的错误(或者我错过了什么)?

在 pymongo 中,要包含 regular expression,您可以尝试这样的操作:

import re
regx = re.compile(".*2015-05-02.*")
for item in collection.find({"date_found": regx})
    print item

或使用 $regex 运算符:

import re
regx = re.compile(".*2015-05-02.*")
for item in collection.find({"date_found": {"$regex": regx} })
    print item