当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《如何使用pymongo在Mongodb中进行正则表达式搜索?》经验,为你挑选了1个好方法。

我想用pymongo做一个正则表达式mongodb查询.

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

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



1> dcrosta..:

要使用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语法中)$.


或者,您可以通过执行`db.collection.find({'date':{'$ regex':'2011-8-11'}})`来避免创建正则表达式对象的开销.
推荐阅读
mobiledu2402851173
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有