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代码(逐级优化)
May 25 Python
详解Python中用于计算指数的exp()方法
May 14 Python
Python 多线程的实例详解
Sep 07 Python
python验证码识别的示例代码
Sep 21 Python
Python爬虫将爬取的图片写入world文档的方法
Nov 07 Python
浅谈python中get pass用法
Mar 19 Python
详解Python 函数如何重载?
Apr 23 Python
python 梯度法求解函数极值的实例
Jul 10 Python
python并发爬虫实用工具tomorrow实用解析
Sep 25 Python
利用jupyter网页版本进行python函数查询方式
Apr 14 Python
Django Form设置文本框为readonly操作
Jul 03 Python
Python Pygame实现俄罗斯方块
Feb 19 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
超级简单的发送邮件程序
2006/10/09 PHP
php获取地址栏信息的代码
2008/10/08 PHP
linux iconv方法的使用
2011/10/01 PHP
2014过年倒计时示例
2014/01/31 PHP
PHPMailer的主要功能特点和简单使用说明
2014/02/17 PHP
详解ThinkPHP3.2.3验证码显示、刷新、校验
2016/12/29 PHP
Mac系统完美安装PHP7详细教程
2017/06/06 PHP
基于jquery打造的百分比动态色彩条插件
2012/09/19 Javascript
javascript动态向网页中添加表格实现代码
2014/02/19 Javascript
EasyUI,点击开启编辑框,并且编辑框获得焦点的方法
2015/03/01 Javascript
JavaScript中利用jQuery绑定事件的几种方式小结
2016/03/06 Javascript
Bootstrap Table从服务器加载数据进行显示的实现方法
2016/09/29 Javascript
jquery实现点击页面回到顶部
2016/11/23 Javascript
angularJS+requireJS实现controller及directive的按需加载示例
2017/02/20 Javascript
JavaScript和jQuery制作光棒效果
2017/02/24 Javascript
深入浅析JSONAPI在PHP中的应用
2017/12/24 Javascript
React组件重构之嵌套+继承及高阶组件详解
2018/07/19 Javascript
浅析Vue 防抖与节流的使用
2019/11/14 Javascript
python生成随机mac地址的方法
2015/03/16 Python
Python2.x版本中cmp()方法的使用教程
2015/05/14 Python
Django教程笔记之中间件middleware详解
2018/08/01 Python
Python PyQt5模块实现窗口GUI界面代码实例
2020/05/12 Python
Python使用Paramiko控制liunx第三方库
2020/05/20 Python
python归并排序算法过程实例讲解
2020/11/04 Python
用Python 执行cmd命令
2020/12/18 Python
Python 中的函数装饰器和闭包详解
2021/02/06 Python
天猫精选:上天猫,就够了
2016/09/21 全球购物
发现世界上最好的珠宝设计师:JewelStreet
2017/12/17 全球购物
银行财务部实习生的自我鉴定
2013/11/27 职场文书
大学生演讲稿范文
2014/01/11 职场文书
法律系毕业生求职信
2014/05/28 职场文书
学校2014重阳节活动策划方案
2014/09/16 职场文书
六查六看六改心得体会
2014/10/14 职场文书
社区党建工作总结2015
2015/05/13 职场文书
工作感言一句话
2015/08/01 职场文书
springboot @ConfigurationProperties和@PropertySource的区别
2021/06/11 Java/Android