热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

小计-python调用pymongo模糊正则查询的方法

这边的数据平台,有个操作是通过关键字得出相关的项目,以前的写法是精确的匹配,这个很让人恼火,毕竟不是谁都可以记住完整的关键字和项目名称,这个着实让人闹心。mongodbshell模式的模糊查询是用,db.project.find({name:xiaorui.cc})。在pymongodb

这边的数据平台,有个操作是通过关键字得出相关的项目,以前的写法是精确的匹配,这个很让人恼火,毕竟不是谁都可以记住完整的关键字和项目名称,这个着实让人闹心。 mongodb shell模式的模糊查询是用,db.project.find({name:/xiaorui.cc/}) 。 在pymongodb

这边的数据平台,有个操作是通过关键字得出相关的项目,以前的写法是精确的匹配,这个很让人恼火,毕竟不是谁都可以记住完整的关键字和项目名称,这个着实让人闹心。


mongodb shell模式的模糊查询是用,db.project.find({‘name’:/xiaorui.cc/}) 。 在pymongodb里面肯定不能是这个样子了。 我原以为和pymongo差不多,最后总是出错,最后看了下文档,才解决的问题。

db.project.find({'name':/汽车/})
{ "_id" : 139, "black_list" : [ ], "created_on" : ISODate("2014-10-08T15:09:41.560Z"), "effective_time" : [ 1412697600, 1412697600 ], "industry_id" : 1000, "name" : "爱卡汽车", "regex" : 0, "status" : 0, "topic_ids" : [ 	2007, 	2008, 	2009, 	2010, 	2011, 	2012, 	2013, 	2014, 	2015, 	2016, 	2017, 	2018, 	2019, 	2020, 	2021, 	2022, 	2023, 	2024, 	2025, 	2026, 	2027, 	2028, 	2029, 	2030, 	2031, 	2032 ], "user_id" : 44, "white_list" : [ ] }

下面是python使用pymongo来的正则模糊查询方式。 两种,一个是mongo自带的扩展,regex,另一个是可以嵌入import re模块来操作。

注释:

老规矩,原文地址是 blog.xiaorui.cc … 爬虫,fuck !

In [76]: a
Out[76]: '\xe6\xb1\xbd\xe8\xbd\xa6'
In [77]: print a
汽车
In [78]: list(db.project.find({'name':{'$regex':a}}))
Out[78]:
[{u'_id': 139,
  u'black_list': [],
  u'created_on': datetime.datetime(2014, 10, 8, 15, 9, 41, 560000),
  u'effective_time': [1412697600, 1412697600],
  u'industry_id': 1000,
  u'name': u'\u7231\u5361\u6c7d\u8f66',
  u'regex': 0,
  u'status': 0,
  u'topic_ids': [2007,
   2008,
   2009,
   2010,
   2011,
   2012,
   2013,
   2014,
   2015,
   2016,
   2017,
   2018,
   2019,
   2020,
   2021,
   2022,
   2023,
   2024,
   2025,
   2026,
   2027,
   2028,
   2029,
   2030,
   2031,
   2032],
  u'user_id': 44,
  u'white_list': []}]
In [79]: list(db.project.find({'name':re.compile(a)}))
Out[79]:
[{u'_id': 139,
  u'black_list': [],
  u'created_on': datetime.datetime(2014, 10, 8, 15, 9, 41, 560000),
  u'effective_time': [1412697600, 1412697600],
  u'industry_id': 1000,
  u'name': u'\u7231\u5361\u6c7d\u8f66',
  u'regex': 0,
  u'status': 0,
  u'topic_ids': [2007,
   2008,
   2009,
   2010,
   2011,
   2012,
   2013,
   2014,
   2015,
   2016,
   2017,
   2018,
   2019,
   2020,
   2021,
   2022,
   2023,
   2024,
   2025,
   2026,
   2027,
   2028,
   2029,
   2030,
   2031,
   2032],
  u'user_id': 44,
  u'white_list': []}]
In [80]:
推荐阅读
  • 开发笔记:Python之路第一篇:初识Python
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python之路第一篇:初识Python相关的知识,希望对你有一定的参考价值。Python简介& ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • Python字典推导式及循环列表生成字典方法
    本文介绍了Python中使用字典推导式和循环列表生成字典的方法,包括通过循环列表生成相应的字典,并给出了执行结果。详细讲解了代码实现过程。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 本文介绍了Python版Protobuf的安装和使用方法,包括版本选择、编译配置、示例代码等内容。通过学习本教程,您将了解如何在Python中使用Protobuf进行数据序列化和反序列化操作,以及相关的注意事项和技巧。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • Python爬虫中使用正则表达式的方法和注意事项
    本文介绍了在Python爬虫中使用正则表达式的方法和注意事项。首先解释了爬虫的四个主要步骤,并强调了正则表达式在数据处理中的重要性。然后详细介绍了正则表达式的概念和用法,包括检索、替换和过滤文本的功能。同时提到了re模块是Python内置的用于处理正则表达式的模块,并给出了使用正则表达式时需要注意的特殊字符转义和原始字符串的用法。通过本文的学习,读者可以掌握在Python爬虫中使用正则表达式的技巧和方法。 ... [详细]
  • 2022年的风口:你看不起的行业,真的很挣钱!
    本文介绍了2022年的风口,探讨了一份稳定的副业收入对于普通人增加收入的重要性,以及如何抓住风口来实现赚钱的目标。文章指出,拼命工作并不一定能让人有钱,而是需要顺应时代的方向。 ... [详细]
  • Python开源库和第三方包的常用框架及库
    本文介绍了Python开源库和第三方包中常用的框架和库,包括Django、CubicWeb等。同时还整理了GitHub中最受欢迎的15个Python开源框架,涵盖了事件I/O、OLAP、Web开发、高性能网络通信、测试和爬虫等领域。 ... [详细]
  • 【爬虫】关于企业信用信息公示系统加速乐最新反爬虫机制
    ( ̄▽ ̄)~又得半夜修仙了,作为一个爬虫小白,花了3天时间写好的程序,才跑了一个月目标网站就更新了,是有点悲催,还是要只有一天的时间重构。升级后网站的层次结构并没有太多变化,表面上 ... [详细]
  • Python 可视化 | Seaborn5 分钟入门 (六)——heatmap 热力图
    微信公众号:「Python读财」如有问题或建议,请公众号留言Seaborn是基于matplotlib的Python可视化库。它提供了一个高级界面来绘制有吸引力的统计图形。Seabo ... [详细]
author-avatar
迷人的小刀
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有