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,查询

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
岱庙资源网 Copyright www.zgmyg.com

评论“详解Pymongo常用查询方法总结”

暂无“详解Pymongo常用查询方法总结”评论...

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。