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 相关文章推荐
Python3 入门教程 简单但比较不错
Nov 29 Python
利用Python中unittest实现简单的单元测试实例详解
Jan 09 Python
python使用fork实现守护进程的方法
Nov 16 Python
python实现手机通讯录搜索功能
Feb 22 Python
python网络爬虫学习笔记(1)
Apr 09 Python
Face++ API实现手势识别系统设计
Nov 21 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
Aug 10 Python
python3 深浅copy对比详解
Aug 12 Python
python如何判断IP地址合法性
Apr 05 Python
Tensorflow之MNIST CNN实现并保存、加载模型
Jun 17 Python
Python学习笔记之装饰器
Aug 06 Python
Python中with上下文管理协议的作用及用法
Mar 18 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中一个控制字符串输出的函数
2006/10/09 PHP
php生成文件
2007/01/15 PHP
基于PHP实现短信验证码接口(容联运通讯)
2016/09/06 PHP
PHP实现的激活用户注册验证邮箱功能示例
2017/06/06 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
brook javascript框架介绍
2011/10/10 Javascript
javascript:history.go()和History.back()的区别及应用
2012/11/25 Javascript
jQuery soColorPacker 网页拾色器
2016/06/22 Javascript
js 声明数组和向数组中添加对象变量的简单实例
2016/07/28 Javascript
jquery ui sortable拖拽后保存位置
2017/04/27 jQuery
vue项目中添加单元测试的方法
2018/07/21 Javascript
5分钟快速掌握JS中var、let和const的异同
2018/09/19 Javascript
js实现转动骰子模型
2019/10/24 Javascript
jQuery与原生JavaScript选择HTML元素集合用法对比分析
2019/11/26 jQuery
JS面向对象实现飞机大战
2020/08/26 Javascript
[01:32:10]NAVI vs VG Supermajor 败者组 BO3 第一场 6.5
2018/06/06 DOTA
python中的yield使用方法
2014/02/11 Python
Python中的hypot()方法使用简介
2015/05/18 Python
python清除字符串里非字母字符的方法
2015/07/02 Python
Python读csv文件去掉一列后再写入新的文件实例
2017/12/28 Python
在python中计算ssim的方法(与Matlab结果一致)
2019/12/19 Python
对tensorflow中cifar-10文档的Read操作详解
2020/02/10 Python
Python socket服务常用操作代码实例
2020/06/22 Python
python中绕过反爬虫的方法总结
2020/11/25 Python
CSS3中HSL和HSLA的简单使用示例
2015/07/14 HTML / CSS
canvas学习和滤镜实现代码
2018/08/22 HTML / CSS
加拿大百叶窗和窗帘定制网站:Blinds
2017/01/30 全球购物
Sunglasses Shop德国站:欧洲排名第一的太阳镜网站
2017/08/01 全球购物
Europcar德国:全球汽车租赁领域的领导者
2018/08/15 全球购物
AVI-8手表美国官方商店:AVI-8 USA
2019/04/10 全球购物
项目副经理岗位职责
2013/12/30 职场文书
校园活动策划书范文
2014/01/10 职场文书
行政部岗位职责范本
2014/03/13 职场文书
五一劳动节活动记录
2014/03/23 职场文书
植树节活动总结
2014/04/30 职场文书
公开承诺书格式
2014/05/21 职场文书