python 模块 - pymongo模块
mongoDB 数据库:
pymongo 操作:
import pymongo
# 连接mongo数据库
client = pymongo.MongoClient(host='localhost', port=27017) # 获取应数据库
db=client.text # 获取数据表
my_collection=db.col #添加数据操作:(单条数据为 字典格式,多少条数据为 列表(字典)方式)
# my_collection.insert(info)
# 官方建议使用以下查询:
# my_collection.insert_one(info)
# my_collection.insert_many(info) # 查找数据:
# 大体跟直接在mongoDB查询一致: #比较符 :
# $lt小于{'age': {'$lt': 20}}
# $gt大于{'age': {'$gt': 20}}
# $lte小于等于{'age': {'$lte': 20}}
# $gte大于等于{'age': {'$gte': 20}}
# $ne不等于{'age': {'$ne': 20}}
# $in在范围内{'age': {'$in': [20, 23]}}
# $nin不在范围内{'age': {'$nin': [20, 23]}} # 其他方式查询:
# 符号含义示例示例含义
# $regex匹配正则{'name': {'$regex': '^M.*'}}name以M开头
# $exists属性是否存在{'name': {'$exists': True}}name属性存在
# $type类型判断{'age': {'$type': 'int'}}age的类型为int
# $mod数字模操作{'age': {'$mod': [5, 0]}}年龄模5余0
# $text文本查询{'$text': {'$search': 'Mike'}}text类型的属性中包含Mike字符串
# $where高级条件查询{'$where': 'obj.fans_count == obj.follows_count'}自身粉丝数等于关注数 # 查找所有数据:
# date = my_collection.find() # 按条件查找数据:(依据mongoDB 查询数据一样,只是关键词需要引号包住)
# date = my_collection.find({'sex':"男",'count':{'$gt':60}}) # 显示前20条数据
# date = my_collection.find().limit(20)
# 跳过前2条显示20条数据
# date = my_collection.find().limit(20).skip(2) # 计数
# 要统计查询结果有多少条数据,可以调用count()方法,如统计所有数据条数: # 排序
# 可以调用sort()方法,传入排序的字段及升降序标志即可,示例如下: # 我们也可以直接根据ObjectId来查询,这里需要使用bson库里面的ObjectId。
# from bson.objectid import ObjectId
# result = collection.find_one({'_id': ObjectId('593278c115c2602667ec6bae')})
# print(result)
# 其查询结果依然是字典类型,运行结果:
# {' ObjectId('593278c115c2602667ec6bae'), 'id': '20170101', 'name': 'Jordan', 'age': 20, 'gender': 'male'}
# 当然如果查询_id':结果不存在则会返回None。 # 更多查询方法,详见mongoDB CURD吧。 # 更新数据:
# my_collection.update({条件名key:条件值},{修改的key:修改的值,})
# 官方建议使用以下查询:
# my_collection.update_one({'ID':3533821323},{"$set":{'name':'i123456',"count":22}})
# my_collection.update_many() # 删除数据:
# my_collection.remove({'ID':3533821323})
# # 官方建议使用以下查询:
# my_collection.delete_one()
# my_collection.delete_many() # 需要知道的,查找到的mongo数据类型为<class 'pymongo.cursor.Cursor'>
# info = db.a1.find({"name":"a2"}).limit(10)
# print(type(info))
#输出结果为: <class 'pymongo.cursor.Cursor'> # 可以通过list方式,将cursor类型数据转为列表数据:
# info = list(db.a1.find({"name":"a2"}).limit(10))
# print(type(info))
# 输出结果为: list()
python 模块 - pymongo模块的更多相关文章
- yum安装memcache,mongo扩展以及python的mysql模块安装
//启动memcached/usr/local/memcached/bin/memcached -d -c 10240 -m 1024 -p 11211 -u root/usr/local/memca ...
- Python全栈 MongoDB 数据库(聚合、二进制、GridFS、pymongo模块)
断网了2天 今天补上 聚合操作: 对文档的信息进行整理统计的操作 返回:统计后的文档集合 db.collection.aggregate() 功能:聚合函数,完成聚合操作 参数:聚合条件,配 ...
- python的库有多少个?python有多少个模块?
这里列举了大概500个左右的库: ! Chardet字符编码探测器,可以自动检测文本.网页.xml的编码. colorama主要用来给文本添加各种颜色,并且非常简单易用. Prettytable主 ...
- python之platform模块
python之platform模块 ^_^第三个模块从天而降喽!! 函数列表 platform.system() 获取操作系统类型,windows.linux等 platform.platform() ...
- python之OS模块详解
python之OS模块详解 ^_^,步入第二个模块世界----->OS 常见函数列表 os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows ...
- python之sys模块详解
python之sys模块详解 sys模块功能多,我们这里介绍一些比较实用的功能,相信你会喜欢的,和我一起走进python的模块吧! sys模块的常见函数列表 sys.argv: 实现从程序外部向程序传 ...
- 学习PYTHON之路, DAY 6 - PYTHON 基础 6 (模块)
一 安装,导入模块 安装: pip3 install 模块名称 导入: import module from module.xx.xx import xx from module.xx.xx impo ...
- [Python Day5] 常用模块
目录: 1.模块介绍 2.time & datetime 3.random 4.OS 5.sys 6.shutil 7.json & pickle 8.shelve 9.xml 处理 ...
- python基础之模块
模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合. 而对于一个复杂的功能来,可能需要多个函数 ...
随机推荐
- POJ 3678 Katu Puzzle (2-SAT)
Katu Puzzle Time Limit: 1000MS ...
- 物理服务器Linux下软RAID和UUID方式挂载方法--Megacli64
一.业务部门需求说明:公司最近来了一批服务器,用于大数据业务部署.数据节点服务器由14块物理磁盘,其中有2块是900G的盘,12块是4T的盘.在服务器系统安装时,进入系统的BIOS界面:1)将2块90 ...
- Java集合、Iterator迭代器和增强for循环整理
集合 集合,集合是java中提供的一种容器,可以用来存储多个数据. 数组的长度是固定的.集合的长度是可变的.集合中存储的元素必须是引用类型数据 1.1 ArrayList集合存储元素 pac ...
- UEFI BIOS Rootkit Analysis
catalog . BIOS简介 . UEFI BIOS . EFI编程简介 . UEFI Rootkit 1. BIOS简介 BIOS("Basic Input Output System ...
- java io系列18之 CharArrayReader(字符数组输入流)
从本章开始,我们开始对java io中的“字符流”进行学习.首先,要学习的是CharArrayReader.学习时,我们先对CharArrayReader有个大致了解,然后深入了解一下它的源码,最后通 ...
- Sqlserver中的视图
一.视图的基本知识 什么是视图:视图是从一个或多个表导出的虚拟的表,具有普通表的结构,物理上是不存在的.视图是动态的数据的集合,数据是随着基表的更新而更新. 视图的优点: ①在多表查询时,查询方便. ...
- Ubuntu 开启SSH服务以及有关设置:安装,指定端口号、免密登录、远程拷贝
本文所用系统为 Ubuntu 18.04 什么是SSH? 简单说,SSH是一种网络协议,用于计算机之间的加密登录.全名为:安全外壳协议.为Secure Shell的缩写.SSH为建立在应用 ...
- Socket远程调试日志之 SocketLog的简单实用
github地址:https://github.com/luofei614/SocketLog 更多信息看这里:https://www.bbsmax.com/A/8Bz8L9Nyzx/ tp5配置co ...
- vue-if与vue-show的区别
两者都是动态显示DOM元素 不同点: 1.使用方式 v-if是根据后面数据的真假,来判断DOM的添加删除等操作 v-show只是在修改元素的css样式(display属性值) 2.实现过程 v ...
- [Android] Android 使用 Greendao 操作 db sqlite(1)-- 直接在MainActivity中调用
继续接上文: Android 使用 Greendao 操作 db sqlite 布局文件: activity_test_green.xml <?xml version="1.0&quo ...