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实现颜色空间转换程序(Tkinter)
Dec 31 Python
解析Python中的生成器及其与迭代器的差异
Jun 20 Python
PyQt5每天必学之滑块控件QSlider
Apr 20 Python
Python求解任意闭区间的所有素数
Jun 10 Python
python实现输入数字的连续加减方法
Jun 22 Python
python matlibplot绘制3D图形
Jul 02 Python
python判断一个数是否能被另一个整数整除的实例
Dec 12 Python
Tensorflow实现神经网络拟合线性回归
Jul 19 Python
Python适配器模式代码实现解析
Aug 02 Python
关于Keras模型可视化教程及关键问题的解决
Jan 24 Python
10张动图学会python循环与递归问题
Feb 06 Python
windows安装python超详细图文教程
May 21 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
新版mysql+apache+php Linux安装指南
2006/10/09 PHP
简单的PHP缓存设计实现代码
2011/09/30 PHP
解析php中mysql_connect与mysql_pconncet的区别详解
2013/05/15 PHP
PHP Header用于页面跳转时的几个注意事项
2016/10/21 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
Z-Blog中用到的js代码
2007/03/15 Javascript
js保存当前路径(cookies记录)
2010/12/14 Javascript
一个非常全面的javascript URL解析函数和分段URL解析方法
2014/04/12 Javascript
javascript中不提供sleep功能如何实现这个功能
2014/05/27 Javascript
Javascript动态引用CSS文件的2种方法介绍
2014/06/06 Javascript
jquery获取url参数及url加参数的方法
2015/10/26 Javascript
浅析Javascript匿名函数与自执行函数
2016/02/06 Javascript
JavaScript对象数组排序实例方法浅析
2016/06/15 Javascript
jQuery和CSS仿京东仿淘宝列表导航菜单
2017/01/04 Javascript
angularjs之$timeout指令详解
2017/06/13 Javascript
微信小程序学习笔记之文件上传、下载操作图文详解
2019/03/29 Javascript
NodeJS读取分析Nginx错误日志的方法
2019/05/14 NodeJs
JavaScript实现好看的跟随彩色气泡效果
2020/02/06 Javascript
[03:36]2014DOTA2 TI小组赛综述 八强诞生进军钥匙球馆
2014/07/15 DOTA
[01:05:41]EG vs Optic Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
python3编写C/S网络程序实例教程
2014/08/25 Python
深入探究Django中的Session与Cookie
2017/07/30 Python
读取本地json文件,解析json(实例讲解)
2017/12/06 Python
python指定写入文件时的编码格式方法
2018/06/07 Python
Django实现微信小程序的登录验证功能并维护登录态
2019/07/04 Python
Python 元组操作总结
2019/09/18 Python
Python数据处理篇之Sympy系列(五)---解方程
2019/10/12 Python
Tensorflow之梯度裁剪的实现示例
2020/03/08 Python
Sandro Paris美国官网:典雅别致的法国时尚服饰品牌
2017/12/26 全球购物
商场消防演习方案
2014/02/12 职场文书
四查四看剖析材料
2014/02/14 职场文书
年底个人总结范文
2015/03/10 职场文书
青年文明号创建口号大全
2015/12/25 职场文书
2019年大学毕业生个人自我鉴定范文大全
2019/03/21 职场文书
MySQL下使用Inplace和Online方式创建索引的教程
2021/05/26 MySQL
xhunter1.sys可以删除嘛? win11提示xhunter1.sys驱动不兼容解决办法
2022/09/23 数码科技