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进行基础的函数式编程的教程
Mar 31 Python
python引用DLL文件的方法
May 11 Python
Python判断字符串与大小写转换
Jun 08 Python
Django卸载之后重新安装的方法
Mar 15 Python
python3.6+opencv3.4实现鼠标交互查看图片像素
Feb 26 Python
matplotlib 纵坐标轴显示数据值的实例
May 25 Python
想学python 这5本书籍你必看!
Dec 11 Python
详解python实现交叉验证法与留出法
Jul 11 Python
一篇文章搞定Python操作文件与目录
Aug 13 Python
Python分割训练集和测试集的方法示例
Sep 19 Python
为2021年的第一场雪锦上添花:用matplotlib绘制雪花和雪景
Jan 05 Python
Python还能这么玩之用Python修改了班花的开机密码
Jun 04 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面向对象全攻略 (十) final static const关键字的使用
2009/09/30 PHP
php 生成随机验证码图片代码
2010/02/08 PHP
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
2011/08/22 PHP
PHP系列学习之日期函数使用介绍
2012/08/18 PHP
微信支付之JSAPI公众号支付详解
2019/05/15 PHP
jQuery学习笔记之jQuery.extend(),jQuery.fn.extend()分析
2014/06/09 Javascript
jQuery简单tab切换效果实现方法
2015/04/08 Javascript
js实现的页面矩阵图形变换特效
2016/01/26 Javascript
jQuery选择器及jquery案例详解(必看)
2016/05/20 Javascript
全面解析Bootstrap中nav、collapse的使用方法
2016/05/22 Javascript
jQuery实现每隔几条元素增加1条线的方法
2016/06/27 Javascript
原生js实现节日时间倒计时功能
2017/01/18 Javascript
jQuery实现简单的滑动导航代码(移动端)
2017/05/22 jQuery
vue小图标favicon不显示的解决方案
2017/09/19 Javascript
AngularJS中table表格基本操作示例
2017/10/10 Javascript
微信小程序数据分析之自定义分析的实现
2018/08/17 Javascript
使用electron实现百度网盘悬浮窗口功能的示例代码
2018/10/24 Javascript
Node.js Stream ondata触发时机与顺序的探索
2019/03/08 Javascript
jQuery实现的点击显示隐藏下拉菜单功能完整示例
2019/05/17 jQuery
微信小程序纯文本实现@功能
2020/04/08 Javascript
Python排序搜索基本算法之堆排序实例详解
2017/12/08 Python
Python实现繁体中文与简体中文相互转换的方法示例
2018/12/18 Python
说说如何遍历Python列表的方法示例
2019/02/11 Python
50行Python代码获取高考志愿信息的实现方法
2019/07/23 Python
Python 实现Serial 与STM32J进行串口通讯
2019/12/18 Python
python两种注释用法的示例
2020/10/09 Python
洲际酒店集团美国官网:IHG美国
2017/11/16 全球购物
香港零食网购:上仓胃子
2020/06/08 全球购物
开工仪式主持词
2014/03/20 职场文书
助学贷款贫困证明
2014/09/23 职场文书
2016春节家属慰问信
2015/03/25 职场文书
2015年幼儿园卫生保健工作总结
2015/05/12 职场文书
2015年度电厂个人工作总结
2015/05/13 职场文书
我在伊朗长大观后感
2015/06/16 职场文书
同学聚会开幕词
2019/04/02 职场文书
腾讯云服务器部署前后分离项目之前端部署
2022/06/28 Servers