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单元测试框架unittest简明使用实例
Apr 13 Python
Python实现带百分比的进度条
Jun 28 Python
Python3结合Dlib实现人脸识别和剪切
Jan 24 Python
python生成1行四列全2矩阵的方法
Aug 04 Python
Python Series从0开始索引的方法
Nov 06 Python
python文件拆分与重组实例
Dec 10 Python
python3人脸识别的两种方法
Apr 25 Python
Python入门Anaconda和Pycharm的安装和配置详解
Jul 16 Python
python爬虫 正则表达式解析
Sep 28 Python
Python树莓派学习笔记之UDP传输视频帧操作详解
Nov 15 Python
Python Selenium自动化获取页面信息的方法
Aug 31 Python
python字符串的多行输出的实例详解
Jun 08 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
地球防卫队:陪着奥特曼打小怪兽的人类力量 那些经典队服
2020/03/08 日漫
php Try Catch异常测试
2009/03/01 PHP
php 截取字符串并以零补齐str_pad() 函数
2011/05/07 PHP
PHP反转字符串函数strrev()函数的用法
2012/02/04 PHP
phpexcel导出excel的颜色和网页中的颜色显示不一致
2012/12/11 PHP
基于ThinkPHP+uploadify+upload+PHPExcel 无刷新导入数据
2015/09/23 PHP
PHP+iframe图片上传实现即时刷新效果
2016/11/18 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
2017/08/31 PHP
Yii2语言国际化自动配置详解
2018/08/22 PHP
Laravel框架实现调用百度翻译API功能示例
2019/05/30 PHP
JavaScript关于select的相关操作说明
2010/01/13 Javascript
P3P Header解决Cookie跨域的问题
2013/03/12 Javascript
jquery组件使用中遇到的问题整理及解决
2014/02/21 Javascript
JQuery判断radio(单选框)是否选中和获取选中值方法总结
2015/04/15 Javascript
《JavaScript高级编程》学习笔记之object和array引用类型
2015/11/01 Javascript
javascript中类的定义方式详解(四种方式)
2015/12/22 Javascript
深入探究AngularJS框架中Scope对象的超级教程
2016/01/04 Javascript
jQuery移动端图片上传组件
2016/06/12 Javascript
JavaScript表单验证完美代码
2017/03/02 Javascript
谈谈VUE种methods watch和compute的区别和联系
2017/08/01 Javascript
react native与webview通信的示例代码
2017/09/25 Javascript
使用webpack搭建pixi.js开发环境
2020/02/12 Javascript
原生JavaScript之es6中Class的用法分析
2020/02/23 Javascript
vue中使用echarts的示例
2021/01/03 Vue.js
python通过wxPython打开一个音频文件并播放的方法
2015/03/25 Python
搞笑的程序猿:看看你是哪种Python程序员
2015/06/12 Python
Python使用smtplib模块发送电子邮件的流程详解
2016/06/27 Python
对Python的交互模式和直接运行.py文件的区别详解
2019/06/29 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
2020/07/01 Python
荷兰睡眠专家:Beter Bed
2020/11/23 全球购物
李敖北大演讲稿
2014/05/24 职场文书
国庆节新闻稿
2015/07/17 职场文书
《七月的天山》教学反思
2016/02/19 职场文书
比较几种Redis集群方案
2021/06/21 Redis
Python之matplotlib绘制折线图
2022/04/13 Python
MySQL数据库之存储过程 procedure
2022/06/16 MySQL