Python操作mongodb数据库进行模糊查询操作示例


Posted in Python onJune 09, 2018

本文实例讲述了Python操作mongodb数据库进行模糊查询操作。分享给大家供大家参考,具体如下:

# -*- coding: utf-8 -*-
import pymongo
import re
from pymongo import MongoClient
#创建连接
#10.20.66.106
client = MongoClient('10.20.4.79', 27017)
#client = MongoClient('10.20.66.106', 27017)
db_name = 'ta'
db = client[db_name]

假设mongodb数据库中school 集合中有一些数据记录

{ "_id" : 1, "zipcode" : "63109", "students" : { "comments" : "python abc" } }
{ "_id" : 2, "zipcode" : "63110", "students" : { "comments" : "python abc" } }
{ "_id" : 3, "zipcode" : "63109", "students" : { "comments" : "python abc" } }
{ "_id" : 4, "zipcode" : "63109", "students" : { "comments" : "python abc" } }
{ "_id" : 5, "zipcode" : "63109", "students" : { "comments" : "python abc" } }
{ "_id" : 7, "zipcode" : "63109", "students" : { "comments" : "python abc" }, "school" : "102 python abc" }
{ "_id" : 8, "zipcode" : "63109", "students" : { "comments" : "python abc" }, "school" : "100 python abc xyz" }
{ "_id" : 9, "zipcode" : "100", "students" : { "name" : "mike", "age" : 12, "comments" : "python" } }
{ "_id" : 10, "zipcode" : "100", "students" : { "name" : "Marry", "age" : 42, "comments" : "this is a python" } }
{ "_id" : 11, "zipcode" : "100", "students" : { "name" : "joe", "age" : 92, "comments" : "this is a python program" } }
{ "_id" : 12, "zipcode" : "100", "students" : { "name" : "joedd", "age" : 34, "comments" : "python is a script language" } }

现在要对students中comments的数据进行模糊查询, python中模糊查询要借助正则表达式:

1、查询comments中包含"abc"的记录:

for u in db.school.find({'students.comments':re.compile('abc')}):
print u

结果如下:

{u'students': {u'comments': u'python abc'}, u'_id': 1.0, u'zipcode': u'63109'}
{u'students': {u'comments': u'python abc'}, u'_id': 2.0, u'zipcode': u'63110'}
{u'students': {u'comments': u'python abc'}, u'_id': 3.0, u'zipcode': u'63109'}
{u'students': {u'comments': u'python abc'}, u'_id': 4.0, u'zipcode': u'63109'}
{u'students': {u'comments': u'python abc'}, u'_id': 5.0, u'zipcode': u'63109'}
{u'students': {u'comments': u'python abc'}, u'school': u'102 python abc', u'_id': 7.0, u'zipcode': u'63109'}
{u'students': {u'comments': u'python abc'}, u'school': u'100 python abc xyz', u'_id': 8.0, u'zipcode': u'63109'}

2、查询comments中包含"this is"的记录:

for u in db.school.find({'students.comments':re.compile('this is')}):
print u

结果如下:

{u'students': {u'age': 42.0, u'name': u'Marry', u'comments': u'this is a python'}, u'_id': 10.0, u'zipcode': u'100'}
{u'students': {u'age': 92.0, u'name': u'joe', u'comments': u'this is a python program'}, u'_id': 11.0, u'zipcode': u'100'}

由此可见,模糊查询要用到re模块,查询条件利用re.compile()函数

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python文件比较示例分享
Jan 10 Python
用C++封装MySQL的API的教程
May 06 Python
理解Python中的绝对路径和相对路径
Aug 30 Python
Python3.4实现远程控制电脑开关机
Feb 22 Python
python爬取内容存入Excel实例
Feb 20 Python
对Django url的几种使用方式详解
Aug 06 Python
python绘制随机网络图形示例
Nov 21 Python
opencv 实现特定颜色线条提取与定位操作
Jun 02 Python
QML用PathView实现轮播图
Jun 03 Python
Python如何实现机器人聊天
Sep 10 Python
用python 绘制茎叶图和复合饼图
Feb 26 Python
Python基础之hashlib模块详解
May 06 Python
python 用lambda函数替换for循环的方法
Jun 09 #Python
python dataframe常见操作方法:实现取行、列、切片、统计特征值
Jun 09 #Python
python pandas 如何替换某列的一个值
Jun 09 #Python
pandas 对series和dataframe进行排序的实例
Jun 09 #Python
python pandas库中DataFrame对行和列的操作实例讲解
Jun 09 #Python
python pandas修改列属性的方法详解
Jun 09 #Python
numpy判断数值类型、过滤出数值型数据的方法
Jun 09 #Python
You might like
关于PHP文件的自动运行方法分析
2016/05/13 PHP
php单例模式的简单实现方法
2016/06/10 PHP
PHP生成推广海报的方法分享
2018/04/22 PHP
laravel框架上传图片实现实时预览功能
2019/10/14 PHP
一个加密JavaScript的开源工具PACKER2.0.2
2006/11/04 Javascript
Extjs Gird 支持中文拼音排序实现代码
2013/04/15 Javascript
js实现select跳转功能代码
2014/10/22 Javascript
JavaScript类继承及实例化的方法
2015/07/25 Javascript
javascript如何写热点图
2015/12/08 Javascript
this,this,再次讨论javascript中的this,超全面(经典)
2016/01/05 Javascript
BootStrap 智能表单实战系列(五) 表单依赖插件处理
2016/06/13 Javascript
JavaScript简单实现弹出拖拽窗口(二)
2016/06/17 Javascript
Vue.JS入门教程之列表渲染
2016/12/01 Javascript
关于Function中的bind()示例详解
2016/12/02 Javascript
javascript中的try catch异常捕获机制用法分析
2016/12/14 Javascript
JavaScript实现事件的中断传播和行为阻止方法示例
2017/01/20 Javascript
vue项目总结之文件夹结构配置详解
2017/12/13 Javascript
JavaScript中常用的简洁高级技巧总结
2019/03/10 Javascript
JQuery通过键盘控制键盘按下与松开触发事件
2020/08/07 jQuery
Python程序员开发中常犯的10个错误
2014/07/07 Python
跟老齐学Python之大话题小函数(2)
2014/10/10 Python
Python的迭代器和生成器使用实例
2015/01/14 Python
简单介绍Python中的len()函数的使用
2015/04/07 Python
详解字符串在Python内部是如何省内存的
2020/02/03 Python
Python面向对象特殊属性及方法解析
2020/09/16 Python
CSS3 渐变(Gradients)之CSS3 径向渐变
2016/07/08 HTML / CSS
Fossil美国官网:化石手表、手袋、首饰及配饰
2019/02/17 全球购物
ZINVO手表官网:男士和女士手表
2019/03/10 全球购物
介绍一下常见的木马种类
2014/11/15 面试题
初中生三年学习生活的自我评价
2013/11/03 职场文书
法警的竞聘演讲稿
2014/01/02 职场文书
《母亲的恩情》教学反思
2014/02/13 职场文书
药品销售员2015年终工作总结
2015/10/22 职场文书
详解Spring Security中的HttpBasic登录验证模式
2022/03/17 Java/Android
Python&Matlab实现灰狼优化算法的示例代码
2022/03/21 Python
Python开发五子棋小游戏
2022/04/28 Python