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基础之模块
模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合. 而对于一个复杂的功能来,可能需要多个函数 ...
随机推荐
- QT槽函数处理线程
今天用到QTcpSocket的时候,由于客户端发起请求在一个线程里,当readyRead的信号发出后接收的槽函数是否还会在该线程里处理? 现在看来其实是交给主线程处理的,那么我要实现在线程里处理怎么实 ...
- JS学习笔记Day5
一.变量的作用域 1.作用域:变量的作用范围 2.全局变量:变量在整个程序都是有效的(从程序开始到程序结束变量均有效)在函数体外部定义的变量都是全局变量:在函数体内部 没有用var定义的变量也有可能是 ...
- 1411 - Ants(巨人与鬼)
参考博客 紫薯P230 题意:给出平面上n个白点n个黑点,要求两两配对,且配对所连线段没有交点. 紫薯思路:找出y坐标最小的点,如果多个,考虑x最小的.将其他点相对于这个点按极角从小到大排序,然后开始 ...
- Spring_xml和注解混合方式开发
1. spring核心配置文件: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=&q ...
- weblogic创建控制台启动脚本以及创建服务器
一.创建控制台脚本 二.创建认证文件 通过上面创建的脚本进行启动的时候,会因为密码问题导致起不来,因为在startWebLogic.sh文件中,没有配置用户名和密码.而且通过上面创建的脚本,启动的时候 ...
- 解决Lost connection to MySQL server during query错误方法
昨天使用Navicat for MySQL导入MySQL数据库的时候,出现了一个严重的错误,Lost connection to MySQL server during query,字面意思就是在查询 ...
- HDU 6425(羽毛球组合 **)
题意是说有四种同学,没有球拍没有球的( a ),只有球拍的( b ),只有球的( c ),既有球拍又有球的( d ):现在要去打羽毛球,每个人都可以选择去或者不去,问有多少种无法打羽毛球的情况. 无法 ...
- 生成表结构数据库文档sql语句
CREATE PROCEDURE [dbo].[生成表结构数据库文档]ASBEGIN -- SET NOCOUNT ON added to prevent extra result sets from ...
- windows 使用 php 的exif 问题 Call to undefined function exif_imagetype()
保证 extension=php_mbstring.dll 在 extension=php_exif.dll 之前
- ajax的优缺点
ajax(Asynchronous Javascript And XML) 异步的js和XML 以前更多的是使用XML的数据格式,现在数据格式更多的是json ajax的优势:单页面应用(SPA) ...