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 相关文章推荐
使用Python操作excel文件的实例代码
Oct 15 Python
Python3随机漫步生成数据并绘制
Aug 27 Python
python try except 捕获所有异常的实例
Oct 18 Python
python画图——实现在图上标注上具体数值的方法
Jul 08 Python
Python字符串处理的8招秘籍(小结)
Aug 13 Python
Django之PopUp的具体实现方法
Aug 31 Python
使用python 将图片复制到系统剪贴中
Dec 13 Python
Python callable内置函数原理解析
Mar 05 Python
Python3开发实例之非关系型图数据库Neo4j安装方法及Python3连接操作Neo4j方法实例
Mar 18 Python
python基于Kivy写一个图形桌面时钟程序
Jan 28 Python
Python+uiautomator2实现自动刷抖音视频功能
Apr 29 Python
Python Pandas知识点之缺失值处理详解
May 11 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
WordPress中用于获取及自定义头像图片的PHP脚本详解
2015/12/17 PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
2016/09/14 PHP
laravel5.0在linux下解决.htaccess无效和去除index.php的问题
2019/10/16 PHP
JavaScript 解析读取XML文档 实例代码
2009/07/07 Javascript
Extjs学习笔记之三 extjs form更多的表单项
2010/01/07 Javascript
js 程序执行与顺序实现详解
2013/05/13 Javascript
js为鼠标添加右击事件防止默认的右击菜单弹出
2013/07/29 Javascript
JavaScript知识点整理
2015/12/09 Javascript
原生JS取代一些JQuery方法的简单实现
2016/09/20 Javascript
Bootstrap CSS使用方法
2016/12/23 Javascript
基于jQuery Easyui实现登陆框界面
2017/07/10 jQuery
JS常见构造模式实例对比分析
2018/08/27 Javascript
微信小程序拍照和摄像功能实现方法示例
2019/02/01 Javascript
Vue 动态组件components和v-once指令的实现
2019/08/30 Javascript
extjs4图表绘制之折线图实现方法分析
2020/03/06 Javascript
es6数组之扩展运算符操作实例分析
2020/04/25 Javascript
浅谈element中InfiniteScroll按需引入的一点注意事项
2020/06/05 Javascript
Vue2.x和Vue3.x的双向绑定原理详解
2020/11/05 Javascript
在Linux下调试Python代码的各种方法
2015/04/17 Python
Python3搜索及替换文件中文本的方法
2015/05/22 Python
基于python list对象中嵌套元组使用sort时的排序方法
2018/04/18 Python
python修改字典键(key)的方法
2019/08/05 Python
社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)
2020/09/23 Python
利用Pycharm + Django搭建一个简单Python Web项目的步骤
2020/10/22 Python
Python实现LR1文法的完整实例代码
2020/10/25 Python
C/C++有关内存的思考题
2015/12/04 面试题
机械系大学毕业生推荐信
2013/11/27 职场文书
党课学习思想汇报
2014/01/02 职场文书
企业内控岗位的职责
2014/02/07 职场文书
《少年王勃》教学反思
2014/04/27 职场文书
小学家长学校培训材料
2014/08/24 职场文书
银行领导班子四风对照检查材料
2014/09/27 职场文书
个人四风问题对照检查材料思想汇报
2014/10/06 职场文书
2014年保密工作总结
2014/11/22 职场文书
自我评价优缺点范文
2015/03/11 职场文书
爱国主义电影观后感
2015/06/18 职场文书