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编写屏幕截图程序方法
Feb 18 Python
Python fileinput模块使用实例
Jun 03 Python
Python表示矩阵的方法分析
May 26 Python
使用python和Django完成博客数据库的迁移方法
Jan 05 Python
tensorflow实现softma识别MNIST
Mar 12 Python
Python第三方Window模块文件的几种安装方法
Nov 22 Python
Python判断变量名是否合法的方法示例
Jan 28 Python
python读出当前时间精度到秒的代码
Jul 05 Python
react+django清除浏览器缓存的几种方法小结
Jul 17 Python
详解django实现自定义manage命令的扩展
Aug 13 Python
Jupyter Notebook打开任意文件夹操作
Apr 14 Python
python在linux环境下安装skimage的示例代码
Oct 14 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
法压式咖啡之制作法
2021/03/03 冲泡冲煮
使用laravel和ECharts实现折线图效果的例子
2019/10/09 PHP
php+iframe 实现上传文件功能示例
2020/03/04 PHP
优化 JavaScript 代码的方法小结
2009/07/16 Javascript
浅析jQuery的链式调用之each函数
2010/12/03 Javascript
web开发人员学习jQuery的6大理由及jQuery的优势介绍
2013/01/03 Javascript
自定义jQuery选项卡插件实例
2013/03/27 Javascript
javascript操作excel生成报表全攻略
2014/05/04 Javascript
jQuery中wrapAll()方法用法实例
2015/01/16 Javascript
基于JS实现PHP的sprintf函数实例
2015/11/14 Javascript
js实现表单及时验证功能 用户信息立即验证
2016/09/13 Javascript
jQuery基本选择器和层次选择器学习使用
2017/02/27 Javascript
JS实现浏览器打印、打印预览示例
2017/02/28 Javascript
JS和canvas实现俄罗斯方块
2017/03/14 Javascript
React入门教程之Hello World以及环境搭建详解
2017/07/11 Javascript
vue里面父组件修改子组件样式的方法
2018/02/03 Javascript
如何用input标签和jquery实现多图片的上传和回显功能
2018/05/16 jQuery
bootstrap 弹出框modal添加垂直方向滚轴效果
2018/07/09 Javascript
Bootstrap Paginator+PageHelper实现分页效果
2018/12/29 Javascript
vue中解决微信html5原生ios虚拟键返回不刷新问题
2020/10/20 Javascript
Python中实现从目录中过滤出指定文件类型的文件
2015/02/02 Python
Python EOL while scanning string literal问题解决方法
2020/09/18 Python
Python制作简单的网页爬虫
2015/11/22 Python
Python处理JSON时的值报错及编码报错的两则解决实录
2016/06/26 Python
机器学习python实战之决策树
2017/11/01 Python
python编程培训 python培训靠谱吗
2018/01/17 Python
Python使用min、max函数查找二维数据矩阵中最小、最大值的方法
2018/05/15 Python
Flask-Mail用法实例分析
2018/07/21 Python
python导入坐标点的具体操作
2019/05/10 Python
解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available
2019/07/31 Python
Ruby中的保护方法和私有方法与一般面向对象程序设计语言的一样吗
2013/05/01 面试题
四查四看剖析材料
2014/02/14 职场文书
计算机科学技术自荐信
2014/06/12 职场文书
开学第一周总结
2015/07/16 职场文书
优质护理心得体会
2016/01/22 职场文书
mysql查看表结构的三种方法总结
2022/07/07 MySQL