详解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实现随机密码字典生成器示例
Apr 09 Python
python使用心得之获得github代码库列表
Jun 25 Python
python2和python3在处理字符串上的区别详解
May 29 Python
python爬虫增加访问量的方法
Aug 22 Python
解决Django migrate不能发现app.models的表问题
Aug 31 Python
利用Python产生加密表和解密表的实现方法
Oct 15 Python
在pytorch中对非叶节点的变量计算梯度实例
Jan 10 Python
Python接口测试get请求过程详解
Feb 28 Python
Python实现对adb命令封装
Mar 06 Python
Python环境下安装PyGame和PyOpenGL的方法
Mar 25 Python
Python基于class()实现面向对象原理详解
Mar 26 Python
python - timeit 时间模块
Apr 06 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
基于wordpress主题制作的具体实现步骤
2013/05/10 PHP
PHP实现自动发送邮件功能代码(qq 邮箱)
2017/08/18 PHP
PHP连续签到功能实现方法详解
2019/12/04 PHP
Laravel相关的一些故障解决
2020/08/19 PHP
通过jQuery源码学习javascript(一)
2012/12/27 Javascript
js 单击式的下拉菜单效果实例
2013/08/13 Javascript
javascript禁用键盘功能键让右击及其他键无效
2013/10/09 Javascript
浅谈javascript中onbeforeunload与onunload事件
2015/12/10 Javascript
JS调用某段SQL语句的方法
2016/10/20 Javascript
微信小程序中使用Promise进行异步流程处理的实例详解
2017/08/17 Javascript
JavaScript 判断对象中是否有某属性的常用方法
2018/06/14 Javascript
nodejs通过钉钉群机器人推送消息的实现代码
2019/05/05 NodeJs
vue实现axios图片上传功能
2019/08/20 Javascript
JS页面动态绘图工具SVG,Canvas,VML介简介
2020/10/16 Javascript
ant design vue中日期选择框混合时间选择器的用法说明
2020/10/27 Javascript
[01:01:35]Optic vs paiN 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python使用psutil模块获取系统状态
2016/08/27 Python
Windows下Anaconda的安装和简单使用方法
2018/01/04 Python
numpy matrix和array的乘和加实例
2018/06/28 Python
选择python进行数据分析的理由和优势
2019/06/25 Python
postman模拟访问具有Session的post请求方法
2019/07/15 Python
关于numpy中eye和identity的区别详解
2019/11/29 Python
Pytorch GPU显存充足却显示out of memory的解决方式
2020/01/13 Python
Centos7下源码安装Python3 及shell 脚本自动安装Python3的教程
2020/03/07 Python
Python Tornado之跨域请求与Options请求方式
2020/03/28 Python
Python基于stuck实现scoket文件传输
2020/04/02 Python
Python库skimage绘制二值图像代码实例
2020/04/10 Python
如何把外网python虚拟环境迁移到内网
2020/05/18 Python
加拿大著名时装品牌:SOIA & KYO
2016/08/23 全球购物
租租车:国际租车、美国租车、欧洲租车、特价预订国外租车(中文服务)
2018/03/28 全球购物
2014离婚协议书范文(3篇)
2014/11/29 职场文书
护士求职自荐信
2015/03/25 职场文书
工程部岗位职责范本
2015/04/11 职场文书
质量整改通知单
2015/04/21 职场文书
深度好文:50条没人告诉你的人生经验,句句精辟
2019/08/22 职场文书
Java基础——Map集合
2022/04/01 Java/Android