Python操作MongoDb数据库流程详解


Posted in Python onMarch 05, 2020

1.简介

MongoDB是一个基于分布式文件存储的文档数据库,可以说是非关系型(NoSQL,Not Only SQL)数据库中比较像关系型数据库的一个,具有免费、操作简单、面向文档、自动分片、可扩展性强、查询功能强大等特点,对大数据处理支持较好,旨在为WEB应用提供可扩展的高性能数据存储解决方案。

MongoDB将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB文档类似于JSON对象。字段值可以包含其他文档,数组及文档数组。

2.应用

MongoDB数据库可以到网站https://www.mongodb.org/downloads下载,安装之后打开命令提示符环境并切换到MongoDB安装目录中的server\3.2\bin文件夹,然后执行命令mongod --dbpath D:\data --journal -- storageEngine=mmapv1启动MongoDB,当然需要首先在D盘根目录下新建文件夹data。

让刚才那个命令提示符环境始终处于运行状态,然后再打开一个命令提示符环境,执行mongo命令连接MongoDB数据库,如果连接成功的话,会显示一个>符号作为提示符,之后就可以输入MongoDB命令了。

打开或创建数据库students

>use students

在数据库中插入数据

>zhangsan = {‘name': ‘Zhangsan', ‘age': 18, ‘gender': ‘male'}
>db.students.insert(zhangsan)
>lisi = {‘name': ‘Lisi', ‘age': 19, ‘gender': ‘male'}
>db.students.insert(lisi)

查询数据库中的记录

>db.students.insert(lisi)

查询数据库中的记录

>db.students.find()

查看系统中所有数据库名称

>show dbs

3.pymongo模块

#! /usr/bin/env python3
# -*- coding:utf-8 -*-

# Author : MaYi
# Blog  : http://www.cnblogs.com/mayi0312/
# Date  : 2019-12-25
# Name  : test01
# Software : PyCharm
# Note  : 应用pymongo模块操作MongoDB数据库
# 导入模块
import pymongo

# 连接数据库,27017是默认端口
client = pymongo.MongoClient("localhost", 27017)
# 获取数据库
db = client.students

# 打印数据集合名称列表
print(db.collection_names)

# 获取数据集合
res = db.students.find()
print(res)
for item in res:
 # 遍历数据
 print(item)

wangwu = {"name": "Wangwu", "age": 20, "sex": "male"}
# 插入一条记录
db.students.insert(wangwu)

for item in db.students.find({"name": "Wangwu"}):
 # 指定查询条件
 print(item)

# 获取一条记录
print(db.students.find_one())
print(db.students.find_one({"name": "Wangwu"}))

# 记录总数
print(db.students.find().count())

# 删除一条记录
db.students.remove({"name": "Wangwu"})

# 创建索引
db.students.create_index([("name", pymongo.ASCENDING)])

# 更新数据库
db.students.update({"name": "Zhangsan"}, {"$set": {"age": 25}})

# 清空数据库
db.students.remove()

# 插入多条数据
zhangsan = {"name": "Zhangsan", "age": 20, "gender": "male"}
lisi = {"name": "Lisi", "age": 21, "gender": "male"}
wangwu = {"name": "Wangwu", "age": 22, "gender": "female"}
db.students.insert_many([zhangsan, lisi, wangwu])

# 对查询结果排序
for item in db.students.find().sort("name", pymongo.ASCENDING):
 print(item)

# 入口函数
if __name__ == '__main__':
 pass

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python2随机数列生成器简单实例
Sep 04 Python
Python中实现最小二乘法思路及实现代码
Jan 04 Python
pyqt5 获取显示器的分辨率的方法
Jun 18 Python
Python 利用高德地图api实现经纬度与地址的批量转换
Aug 14 Python
django写用户登录判定并跳转制定页面的实例
Aug 21 Python
python修改文件内容的3种方法详解
Nov 15 Python
Python笔记之观察者模式
Nov 20 Python
Python文字截图识别OCR工具实例解析
Mar 05 Python
使用PyCharm安装pytest及requests的问题
Jul 31 Python
python爬虫使用scrapy注意事项
Nov 23 Python
python process模块的使用简介
May 14 Python
python turtle绘制多边形和跳跃和改变速度特效
Mar 16 Python
Python文字截图识别OCR工具实例解析
Mar 05 #Python
win10下opencv-python特定版本手动安装与pip自动安装教程
Mar 05 #Python
python+OpenCV实现图像拼接
Mar 05 #Python
windows下Pycharm安装opencv的多种方法
Mar 05 #Python
解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)
Mar 05 #Python
浅谈Python的方法解析顺序(MRO)
Mar 05 #Python
python环境下安装opencv库的方法
Mar 05 #Python
You might like
详解PHP使用Redis存储session时的一个Warning定位
2017/07/05 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
2017/09/16 PHP
CSDN轮换广告图片轮换效果
2007/03/27 Javascript
jquery实现带二级菜单的导航示例
2014/04/28 Javascript
jQuery处理json数据返回数组和输出的方法
2015/03/11 Javascript
用jquery快速解决IE输入框不能输入的问题
2016/10/04 Javascript
JavaScript Math对象和调试程序的方法分析
2019/05/13 Javascript
vue自定义表单生成器form-create使用详解
2019/07/19 Javascript
利用Python的Twisted框架实现webshell密码扫描器的教程
2015/04/16 Python
python实现统计代码行数的方法
2015/05/22 Python
Python错误提示:[Errno 24] Too many open files的分析与解决
2017/02/16 Python
python 截取 取出一部分的字符串方法
2017/03/01 Python
python+selenium开发环境搭建图文教程
2017/08/11 Python
python实现在IDLE中输入多行的方法
2018/04/19 Python
打包PyQt5应用时的注意事项
2020/02/14 Python
matplotlib jupyter notebook 图像可视化 plt show操作
2020/04/24 Python
CSS3 3D立方体效果示例-transform也不过如此
2016/12/05 HTML / CSS
20佳惊艳的HTML5应用程序示例分享
2011/05/03 HTML / CSS
实例讲解HTML5的meta标签的一些应用
2015/12/08 HTML / CSS
荷兰在线体育用品商店:Avantisport.nl
2018/07/04 全球购物
Maisons du Monde德国:法国家具和装饰的市场领导者
2019/07/26 全球购物
蒂娜商店:Tiina the Store
2019/12/07 全球购物
药学专业毕业生求职信
2013/10/20 职场文书
法学毕业生自我鉴定
2013/11/08 职场文书
工作睡觉检讨书
2014/02/25 职场文书
元宵晚会主持词
2014/03/25 职场文书
工伤赔偿协议书范本
2014/04/15 职场文书
党支部综合考察材料
2014/05/19 职场文书
工商管理专业毕业生求职信
2014/05/26 职场文书
诚信考试标语
2014/06/24 职场文书
小学生竞选班干部演讲稿(5篇)
2014/09/12 职场文书
反对形式主义、官僚主义、享乐主义和奢靡之风整改措施
2014/09/17 职场文书
工作态度不端正检讨书
2014/10/04 职场文书
大学社团活动总结怎么写
2019/06/21 职场文书
Golang并发操作中常见的读写锁详析
2021/08/30 Golang
MySQL连接控制插件介绍
2021/09/25 MySQL