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函数参数类型*、**的区别
Apr 11 Python
Python中的hypot()方法使用简介
May 18 Python
python实现简单ftp客户端的方法
Jun 28 Python
matplotlib中legend位置调整解析
Dec 19 Python
基于Python Numpy的数组array和矩阵matrix详解
Apr 04 Python
linux下安装python3和对应的pip环境教程详解
Jul 01 Python
Django之PopUp的具体实现方法
Aug 31 Python
Python创建数字列表的示例
Nov 28 Python
利用Vscode进行Python开发环境配置的步骤
Jun 22 Python
python安装cx_Oracle和wxPython的方法
Sep 14 Python
TensorFlow的自动求导原理分析
May 26 Python
Python实现制作销售数据可视化看板详解
Nov 27 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自动获取目录下的模板的代码
2010/08/08 PHP
php通过asort()给关联数组按照值排序的方法
2015/03/18 PHP
两种php给图片加水印的实现代码
2020/04/18 PHP
YII Framework框架教程之国际化实现方法
2016/03/14 PHP
js AspxButton的客户端操作
2009/06/26 Javascript
jQuery的cookie插件实现保存用户登陆信息
2014/04/15 Javascript
jQuery Dialog对话框事件用法实例分析
2016/05/10 Javascript
javascript日期比较方法实例分析
2016/06/17 Javascript
jQuery实现点击行选中或取消CheckBox的方法
2016/08/01 Javascript
Bootstrap 3的box-sizing样式导致UEditor控件的图片无法正常缩放的解决方案
2016/09/15 Javascript
Bootstrap超大屏幕的实现代码
2017/03/22 Javascript
ES10 特性的完整指南小结
2019/03/04 Javascript
如何在Angular8.0下使用ngx-translate进行国际化配置
2019/07/24 Javascript
原生javascript如何实现共享onload事件
2020/07/03 Javascript
Vue使用鼠标在Canvas上绘制矩形
2020/12/24 Vue.js
Python3基础之list列表实例解析
2014/08/13 Python
Pycharm学习教程(3) 代码运行调试
2017/05/03 Python
python 匹配url中是否存在IP地址的方法
2018/06/04 Python
对pandas数据判断是否为NaN值的方法详解
2018/11/06 Python
Python定时任务APScheduler的实例实例详解
2019/07/22 Python
Python爬虫工具requests-html使用解析
2020/04/29 Python
python多线程实现同时执行两个while循环的操作
2020/05/02 Python
python 从list中随机取值的方法
2020/11/16 Python
浅析HTML5中header标签的用法
2016/06/24 HTML / CSS
lululemon美国官网:瑜伽服+跑步装备
2018/11/16 全球购物
New Balance俄罗斯官方网上商店:购买运动鞋
2020/03/02 全球购物
春节活动策划方案
2014/01/24 职场文书
空中乘务员岗位职责
2014/03/08 职场文书
硕士研究生求职自荐信范文
2014/03/11 职场文书
酒店开业庆典主持词
2014/03/21 职场文书
安全生产承诺书范文
2014/05/22 职场文书
幼儿园安全责任书范本
2014/07/24 职场文书
租车协议书范本2014
2014/11/17 职场文书
教师学习十八届五中全会精神心得体会
2016/01/05 职场文书
2016国培学习心得体会
2016/01/08 职场文书
初一语文教学反思
2016/03/03 职场文书