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切换hosts文件代码示例
Dec 31 Python
Python制作钉钉加密/解密工具
Dec 07 Python
Python 模板引擎的注入问题分析
Jan 01 Python
python实现自动发送报警监控邮件
Jun 21 Python
Python走楼梯问题解决方法示例
Jul 25 Python
Python基于matplotlib画箱体图检验异常值操作示例【附xls数据文件下载】
Jan 07 Python
Django RBAC权限管理设计过程详解
Aug 06 Python
python GUI库图形界面开发之PyQt5线程类QThread详细使用方法
Feb 26 Python
浅谈Python线程的同步互斥与死锁
Mar 22 Python
TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法
Apr 19 Python
jupyter 添加不同内核的操作
Feb 06 Python
python自动化之如何利用allure生成测试报告
May 02 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程序中的常见漏洞进行攻击(上)
2006/10/09 PHP
PHP中Session的概念
2006/10/09 PHP
PHP中全局变量global和$GLOBALS[]的区别分析
2012/08/06 PHP
如何用PHP来实现一个动态Web服务器
2015/07/29 PHP
thinkPHP实现MemCache分布式缓存功能
2016/03/23 PHP
Thinkphp3.2简单解决多文件上传只上传一张的问题
2017/09/26 PHP
js获取select标签的值且兼容IE与firefox
2013/12/30 Javascript
三种方式获取XMLHttpRequest对象
2014/04/21 Javascript
jQuery选择器源码解读(七):elementMatcher函数
2015/03/31 Javascript
react开发中如何使用require.ensure加载es6风格的组件
2017/05/09 Javascript
微信小程序 本地图片按照屏幕尺寸处理
2017/08/04 Javascript
详解bootstrap导航栏.nav与.navbar区别
2017/11/23 Javascript
vue2.0 实现页面导航提示引导的方法
2018/03/13 Javascript
全站最详细的Vuex教程
2018/04/13 Javascript
js实现图片上传并预览功能
2018/08/06 Javascript
vue 详情跳转至列表页实现列表页缓存
2019/03/27 Javascript
微信小程序防止多次点击跳转和防止表单组件输入内容多次验证功能(函数防抖)
2019/09/19 Javascript
python 字符串和整数的转换方法
2018/06/25 Python
Django中使用第三方登录的示例代码
2018/08/20 Python
numpy数组做图片拼接的实现(concatenate、vstack、hstack)
2019/11/08 Python
python实现12306登录并保存cookie的方法示例
2019/12/17 Python
python3中celery异步框架简单使用+守护进程方式启动
2021/01/20 Python
HTML5全屏(Fullscreen)API详细介绍
2015/04/24 HTML / CSS
草莓网英国官网:Strawberrynet UK
2017/02/12 全球购物
Sephora丝芙兰马来西亚官方网站:国际化妆品购物
2018/03/15 全球购物
一些关于MySql加速和优化的面试题
2014/01/30 面试题
仓库主管的岗位职责
2013/12/04 职场文书
创建卫生先进单位实施方案
2014/03/10 职场文书
2014年端午节演讲稿范文
2014/05/23 职场文书
2014年学习厉行节约反对浪费思想汇报
2014/09/10 职场文书
防灾减灾标语
2014/10/07 职场文书
入党介绍人意见怎么写
2015/06/03 职场文书
初一军训感言
2015/08/01 职场文书
Python 类,对象,数据分类,函数参数传递详解
2021/09/25 Python
【海涛解说】暗牧也疯狂,牛蛙成配角
2022/04/01 DOTA
零基础学java之方法的定义与调用详解
2022/04/10 Java/Android