python中mongodb包操作数据库


Posted in Python onApril 19, 2022

一、安装

pip install pymongo

二、连接数据库

import pymongo

# 方式一
client = pymongo.MongoClient('mongodb://localhost:27017')
# 方式二
client = pymongo.MongoClient('localhost',27017)
# 方式三,有密码认证
client = pymongo.MongoClient('localhost', 27017, username='xxx', password='xxx')

三、创建数据库

import pymongo

# 连接
client = pymongo.MongoClient('mongodb://localhost:27017')
# 创建test数据库
db = client.test # 或者 db = client['test']
print(db)

四、所有数据库

import pymongo

client = pymongo.MongoClient('mongodb://localhost:27017')
dbs = client.list_database_names()

五、创建集合

  • 也就是数据库中的表
import pymongo

client = pymongo.MongoClient('mongodb://localhost:27017')
# 创建test数据库
db = client.test
# 创建表
collections = db.user # 或者 collections = db['user']
# 删除表
collections.drop()

六、插入数据

  • insert_one:插入一条数据
  • insert_many:插入多条数据
import pymongo

client = pymongo.MongoClient('mongodb://localhost:27017')
# 创建test数据库
db = client.test
# 创建表
collections = db.user

# 创建文档数据
user1 = {
'name': 'autofelix',
'age': '25',
'height': '172',
'weight': '60'
}

user2 = {
'name': '飞兔小哥',
'age': '28',
'height': '182',
'weight': '70'
}

# 插入一条文档集合
result = collections.insert_one(user1)
print(result)
print(result.inserted_id)

# 插入多条文档集合
result = collections.insert_many([user1, user2])
print(result)
print(result.inserted_ids)

七、查询数据

  • find:查询多条数据
  • find_one:查询一条数据
import pymongo

client = pymongo.MongoClient('mongodb://localhost:27017')
# 创建test数据库
db = client.test
# 创建表
collections = db.user

# 查询所有
collections.find()
# 查询最近一条
collections.find_one()
# 根据条件查询
collections.find_one({'age':25})

八、高级查询

import pymongo

client = pymongo.MongoClient('mongodb://localhost:27017')
# 创建test数据库
db = client.test
# 创建表
collections = db.user

# 跳过第一条查到的数据
collections.find({'age':{'$gt':10}},['height','age']).skip(1)
# limit限制查询条数
collections.find({'age':{'$gt':10}},['height','age']).limit(1)
# 多条件查询
collections.find_one({'height':{'$gt':150},'age':{'$lt':26,'$gt':10}})
# in查询,查询年龄在25,26,32的数据
collections.find({'age':{'$in':[25, 26, 32]}})
# or查询,查询年龄小于等于23或者大于等于29的数据
collections.find({'$or':[{'age':{'$lte':23}}, {'age':{'$gte':29}}]})
# exists查询
collections.find({'age':{'$exists':True}})
# 正则查询
collections.find({'name':{'$regex':r'.*auto.*'}})

九、count统计

import pymongo

client = pymongo.MongoClient('mongodb://localhost:27017')
# 创建test数据库
db = client.test
# 创建表
collections = db.user

# 统计集合中总共有多少条数据
collections.find().count()
# 统计集合中年龄大于10岁的共有多少条数据
collections.find({'age':{'$gt':10}}).count()

十、修改数据

  • update_one:修改一条数据
  • update_many:修改多条数据
import pymongo

client = pymongo.MongoClient('mongodb://localhost:27017')
# 创建test数据库
db = client.test
# 创建表
collections = db.user

# 修改一条数据
collections.update_one({'name': 'autofelix'}, {'$set': {'name': '大神'}})
# 修改多条数据
collections.update_many({'name': 'autofelix'}, {'$set': {'name': '大神'}})

十一、删除数据

  • delete_one:删除一条数据
  • delete_many:删除多条数据
import pymongo

client = pymongo.MongoClient('mongodb://localhost:27017')
# 创建test数据库
db = client.test
# 创建表
collections = db.user

# 删除一条数据
collections.delete_one({'name': 'autofelix'})
# 删除多条数据
collections.delete_many({'name': 'autofelix'})
# 删除所有数据
collections.delete_many({})

十二、数据排序

import pymongo

client = pymongo.MongoClient('mongodb://localhost:27017')
# 创建test数据库
db = client.test
# 创建表
collections = db.user

# 对字段 age 按升序排序
collections.find().sort('age')
# 对字段 age 按降序排序
collections.find().sort('age', -1)
# 多字段排序
collections.find().sort((('age',pymongo.ASCENDING),('height',pymongo.ASCENDING)))

到此这篇关于python 包操作 mongodb 数据库详情的文章就介绍到这了!

Python 相关文章推荐
进一步了解Python中的XML 工具
Apr 13 Python
python排序方法实例分析
Apr 30 Python
简单介绍Python中的readline()方法的使用
May 24 Python
Python3中详解fabfile的编写
Jun 24 Python
Python数据分析:手把手教你用Pandas生成可视化图表的教程
Dec 15 Python
Python 利用切片从列表中取出一部分使用的方法
Feb 01 Python
numpy.linspace函数具体使用详解
May 27 Python
Python之pymysql的使用小结
Jul 01 Python
python内置模块collections知识点总结
Dec 19 Python
Python绘制地图神器folium的新人入门指南
May 23 Python
给numpy.array增加维度的超简单方法
Jun 02 Python
Python中使用ipython的详细教程
Jun 22 Python
Elasticsearch 聚合查询和排序
Apr 19 #Python
Elasticsearch 基本查询和组合查询
Apr 19 #Python
Elasticsearch 批量操作
Apr 19 #Python
Elasticsearch 数据类型及管理
Apr 19 #Python
Elasticsearch 索引操作和增删改查
Apr 19 #Python
python中redis包操作数据库的教程
Apr 19 #Python
python中pymysql包操作数据库方法
Apr 19 #Python
You might like
PHP最常用的ini函数分析 针对PHP.ini配置文件
2010/04/22 PHP
浅析PHP页面局部刷新功能的实现小结
2013/06/21 PHP
详解WordPress中用于合成数组的wp_parse_args()函数
2015/12/18 PHP
PHP下载远程图片并保存到本地方法总结
2016/01/22 PHP
JavaScript 新手24条实用建议[TUTS+]
2009/06/21 Javascript
js实现网页标题栏闪烁提示效果实例分析
2014/11/20 Javascript
HTML页面定时跳转方法解析(2种任选)
2016/12/22 Javascript
修改ligerui 默认确认按钮的方法
2016/12/27 Javascript
fullCalendar中文API官方文档
2017/02/07 Javascript
Vue.js如何实现路由懒加载浅析
2017/08/14 Javascript
浅谈Angular2 ng-content 指令在组件中嵌入内容
2017/08/18 Javascript
Angular2里获取(input file)上传文件的内容的方法
2017/09/05 Javascript
解决vue.js在编写过程中出现空格不规范报错的问题
2017/09/20 Javascript
JavaScript中set与get方法用法示例
2018/08/15 Javascript
javascript实现自由编辑图片代码详解
2019/06/21 Javascript
iview的table组件自带的过滤器实现
2019/07/12 Javascript
JS使用H5实现图片预览功能
2019/09/30 Javascript
Vuex的API文档说明详解
2020/02/05 Javascript
vue中解决拖拽改变存在iframe的div大小时卡顿问题
2020/07/22 Javascript
[53:23]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
Python自动化测试工具Splinter简介和使用实例
2014/05/13 Python
从零学python系列之数据处理编程实例(一)
2014/05/22 Python
python通过smpt发送邮件的方法
2015/04/30 Python
python实现word 2007文档转换为pdf文件
2018/03/15 Python
对python的文件内注释 help注释方法
2018/05/23 Python
2019 Python最新面试题及答案16道题
2019/04/11 Python
Python解释器及PyCharm工具安装过程
2020/02/26 Python
PyCharm 光标变成黑块的解决方式
2021/02/06 Python
Lookfantastic挪威官网:英国知名美妆购物网站
2017/07/26 全球购物
《画家乡》教学反思
2014/04/22 职场文书
文明城市标语
2014/06/16 职场文书
绿色小区申报材料
2014/08/22 职场文书
警察群众路线整改措施
2014/09/26 职场文书
导游词范文
2015/02/13 职场文书
收入证明申请书
2015/06/12 职场文书
导游词之长城八达岭
2019/09/24 职场文书