详解Pymongo常用查询方法总结


Posted in Python onJanuary 29, 2021

Python 直接连接mongodb数据库进行查询操作

1、安装所需模块

使用到的是pymongo模块,安装方法:pip install pymongo

2、环境验证

详解Pymongo常用查询方法总结

3、连接数据库

import pymongo
def operating_mongodb():
  client = pymongo.MongoClient('ip_address', port)
  db_auth = client.database
  db_auth.authenticate("username", "password")
  db = client.db_name
  return db

4、连接到对应的数据库表

mongodb = operating_mongodb()
search_set = mongodb.table_name

5、按照所需字段排序

search_set.find().sort("field_name ",pymongo.ASCENDING)   --升序
search_set.find().sort("field_name ",pymongo.DESCENDING)  --降序

6、查询数据库表的全部内容

第一种:search_set.find({})

第二种:search_set.find()

7、精确查询

search_set.find({“field_name”:”value”})
search_set.find({“field_name”:”value”, “field_name”:”value”})

8、只返回所需要的字段信息

find的第二参数可以帮助我们只把需要的键值信息返回,需要将我们需要的键指定为1,

另外默认的”_id”默认是返回的,我们不需要它返回的话将它的值设为0

search_set.find({}, {“field_name_one”:1, “field_name_two”:1,”_id”:0})

9、比较查询

首先 $lt和<,$lte和<=,$gt和>,gte和>=,ne和!=是一一对应的

search_set.find({"field_name": {"$lt": value, "$gt": value}})

10、关联查询

如果只想查询一个键的多个值,或取除某个值之外所有的数据那么就用到了

$in和$nin

比如我只想获取field_name为1,5,8的数据:

search_set.find({"field_name": {"$in": [1,5,8]}})

如果想获取field_name为5之外的所有数据:

search_set.find({"field_name": {"$nin": [5]}})

11、多条件模糊查询

$regex为模糊查询的字符串提供正则表达式功能

search_set.find({"$or": [{"field_name": {'$regex': value}},{"field_name": {'$regex': value}}]})

通过这些常用的查询方法,灵活组合,基本可以满足常见的查询需求

到此这篇关于详解Pymongo常用查询方法总结的文章就介绍到这了,更多相关Pymongo 查询内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python实现简单的TCP代理服务器
Oct 08 Python
使用django-suit为django 1.7 admin后台添加模板
Nov 18 Python
python中的set实现不重复的排序原理
Jan 24 Python
详解Python locals()的陷阱
Mar 26 Python
Django页面数据的缓存与使用的具体方法
Apr 23 Python
Django模型序列化返回自然主键值示例代码
Jun 12 Python
Django分页功能的实现代码详解
Jul 29 Python
Selenium 滚动页面至元素可见的方法
Mar 18 Python
Django多数据库配置及逆向生成model教程
Mar 28 Python
python实现126邮箱发送邮件
May 20 Python
Python如何实现的二分查找算法
May 27 Python
Python趣味爬虫之用Python实现智慧校园一键评教
May 28 Python
Python3使用tesserocr识别字母数字验证码的实现
Jan 29 #Python
Python爬取梨视频的示例
Jan 29 #Python
使用Python封装excel操作指南
Jan 29 #Python
用OpenCV进行年龄和性别检测的实现示例
Jan 29 #Python
python使用numpy中的size()函数实例用法详解
Jan 29 #Python
Python机器学习工具scikit-learn的使用笔记
Jan 28 #Python
K近邻法(KNN)相关知识总结以及如何用python实现
Jan 28 #Python
You might like
PHP n个不重复的随机数生成代码
2009/06/23 PHP
CodeIgniter生成网站sitemap地图的方法
2013/11/13 PHP
彻底删除thinkphp3.1案例blog标签的方法
2014/12/05 PHP
深入浅析PHP无限极分类的案例教程
2016/05/09 PHP
PHP 验证身份证是否合法的函数
2017/02/09 PHP
PHP有序表查找之二分查找(折半查找)算法示例
2018/02/09 PHP
小议Function.apply()之二------利用Apply的参数数组化来提高 JavaScript程序性能
2006/11/30 Javascript
JS option location 页面跳转实现代码
2008/12/27 Javascript
jQuery弹出(alert)select选择的值
2013/04/21 Javascript
javascript简单实现滑动菜单效果的方法
2015/07/27 Javascript
通过Ajax使用FormData对象无刷新上传文件方法
2016/12/08 Javascript
浅谈jQuery中事情的动态绑定
2017/02/12 Javascript
JavaScript表单验证完美代码
2017/03/02 Javascript
Ionic项目中Native Camera的使用方法
2017/06/07 Javascript
JavaScript实现时间表动态效果
2017/07/15 Javascript
js 开发之autocomplete=&quot;off&quot;在chrom中失效的解决办法
2017/09/28 Javascript
vue2.0 + element UI 中 el-table 数据导出Excel的方法
2018/03/02 Javascript
Vuex modules模式下mapState/mapMutations的操作实例
2019/10/17 Javascript
对vuex中getters计算过滤操作详解
2019/11/06 Javascript
[35:27]完美世界DOTA2联赛循环赛 GXR vs FTD BO2第二场 10.29
2020/10/29 DOTA
python 巧用正则寻找字符串中的特定字符的位置方法
2018/05/02 Python
django API 中接口的互相调用实例
2020/04/01 Python
Python unittest单元测试框架实现参数化
2020/04/29 Python
python 绘制场景热力图的示例
2020/09/23 Python
html5 canvas实现给图片添加平铺水印
2019/08/20 HTML / CSS
俄罗斯香水和化妆品购物网站:Л’Этуаль
2018/05/10 全球购物
专科毕业生自我鉴定
2013/12/01 职场文书
商场端午节活动方案
2014/01/29 职场文书
最经典的商业地产项目广告词
2014/03/13 职场文书
关于保护环境的建议书
2014/08/26 职场文书
小学生民族团结演讲稿
2014/08/27 职场文书
2014年房产销售工作总结
2014/12/08 职场文书
感恩教育观后感
2015/06/17 职场文书
2016年情人节问候语
2015/11/11 职场文书
2019年中,最受大众欢迎的6本新书
2019/08/07 职场文书
劳务派遣管理制度(样本)
2019/08/23 职场文书