我想用pymongo做一个正则表达式mongodb查询.
cond = {'date':'/.*2011-8-11.*/'} coll.find(cond).count() return 0;
但我直接在Mongodb返回25上执行此查询; 我的查询有问题吗?
要使用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语法中)$
.