如何使用pymongo在Mongodb中进行正则表达式搜索?

时间:2011-08-11 10:13:24

标签: python regex mongodb pymongo

我想使用pymongo进行正则表达式mongodb查询。

cond = {'date':'/.*2011-8-11.*/'}
coll.find(cond).count() return 0;

但我直接在Mongodb返回25上执行此查询; 我的查询有问题吗?

1 个答案:

答案 0 :(得分:5)

要使用pymongo中的正则表达式进行搜索,您需要使用python正则表达式对象,而不是带斜杠的字符串。对于上面的查询,pymongo语法将是:

import re
# assume connection is set up, and db
# is a pymongo.database.Database instance
date_re = re.compile(r'2011-8-11')
db.collection.find({'date': date_re})

另请注意,除非使用.^锚定正则表达式,否则不需要$字符(使用pymongo语法或mongo shell语法)。