Python操作mongodb数据库进行模糊查询操作示例
本文实例讲述了Python操作mongodb数据库进行模糊查询操作。分享给大家供大家参考,具体如下:
#-*-coding:utf-8-*- importpymongo importre frompymongoimportMongoClient #创建连接 #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":"pythonabc"}} {"_id":2,"zipcode":"63110","students":{"comments":"pythonabc"}} {"_id":3,"zipcode":"63109","students":{"comments":"pythonabc"}} {"_id":4,"zipcode":"63109","students":{"comments":"pythonabc"}} {"_id":5,"zipcode":"63109","students":{"comments":"pythonabc"}} {"_id":7,"zipcode":"63109","students":{"comments":"pythonabc"},"school":"102pythonabc"} {"_id":8,"zipcode":"63109","students":{"comments":"pythonabc"},"school":"100pythonabcxyz"} {"_id":9,"zipcode":"100","students":{"name":"mike","age":12,"comments":"python"}} {"_id":10,"zipcode":"100","students":{"name":"Marry","age":42,"comments":"thisisapython"}} {"_id":11,"zipcode":"100","students":{"name":"joe","age":92,"comments":"thisisapythonprogram"}} {"_id":12,"zipcode":"100","students":{"name":"joedd","age":34,"comments":"pythonisascriptlanguage"}}
现在要对students中comments的数据进行模糊查询,python中模糊查询要借助正则表达式:
1、查询comments中包含"abc"的记录:
foruindb.school.find({'students.comments':re.compile('abc')}): printu
结果如下:
{u'students':{u'comments':u'pythonabc'},u'_id':1.0,u'zipcode':u'63109'}
{u'students':{u'comments':u'pythonabc'},u'_id':2.0,u'zipcode':u'63110'}
{u'students':{u'comments':u'pythonabc'},u'_id':3.0,u'zipcode':u'63109'}
{u'students':{u'comments':u'pythonabc'},u'_id':4.0,u'zipcode':u'63109'}
{u'students':{u'comments':u'pythonabc'},u'_id':5.0,u'zipcode':u'63109'}
{u'students':{u'comments':u'pythonabc'},u'school':u'102pythonabc',u'_id':7.0,u'zipcode':u'63109'}
{u'students':{u'comments':u'pythonabc'},u'school':u'100pythonabcxyz',u'_id':8.0,u'zipcode':u'63109'}
2、查询comments中包含"thisis"的记录:
foruindb.school.find({'students.comments':re.compile('thisis')}): printu
结果如下:
{u'students':{u'age':42.0,u'name':u'Marry',u'comments':u'thisisapython'},u'_id':10.0,u'zipcode':u'100'}
{u'students':{u'age':92.0,u'name':u'joe',u'comments':u'thisisapythonprogram'},u'_id':11.0,u'zipcode':u'100'}
由此可见,模糊查询要用到re模块,查询条件利用re.compile()函数
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python常见数据库操作技巧汇总》、《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。