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三级目录展示的实现方法
Sep 28 Python
django+js+ajax实现刷新页面的方法
May 22 Python
Python中扩展包的安装方法详解
Jun 14 Python
python爬虫基本知识
Mar 05 Python
利用python如何处理nc数据详解
May 23 Python
python3爬虫怎样构建请求header
Dec 23 Python
Python3实现取图片中特定的像素替换指定的颜色示例
Jan 24 Python
Python Web静态服务器非堵塞模式实现方法示例
Nov 21 Python
flask利用flask-wtf验证上传的文件的方法
Jan 17 Python
python dumps和loads区别详解
Feb 04 Python
Python for循环搭配else常见问题解决
Feb 11 Python
Python机器学习之KNN近邻算法
May 14 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中实现记住密码自动登录的代码
2011/03/02 PHP
PHP限制HTML内容中图片必须是本站的方法
2015/06/16 PHP
PHP模板引擎Smarty内建函数foreach,foreachelse用法分析
2016/04/11 PHP
php与python实现的线程池多线程爬虫功能示例
2016/10/12 PHP
php过滤输入操作之htmlentities与htmlspecialchars用法分析
2017/02/17 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
2019/12/02 PHP
Aster vs Newbee BO3 第二场2.18
2021/03/10 DOTA
使用TextRange获取输入框中光标的位置的代码
2007/03/08 Javascript
javascript 打开页面window.location和window.open的区别
2010/03/17 Javascript
事件冒泡是什么如何用jquery阻止事件冒泡
2013/03/20 Javascript
avascript中的自执行匿名函数应用示例
2014/09/15 Javascript
jQuery的css() 方法使用指南
2015/05/03 Javascript
基于JS实现无缝滚动思路及代码分享
2016/06/07 Javascript
Vue.js每天必学之内部响应式原理探究
2016/09/07 Javascript
JS将unicode码转中文方法
2017/05/08 Javascript
jquery实现图片轮播器
2017/05/23 jQuery
jQuery实现每日秒杀商品倒计时功能
2019/09/06 jQuery
微信小程序实现侧边分类栏
2019/10/21 Javascript
基于node+vue实现简单的WebSocket聊天功能
2020/02/01 Javascript
[00:16]热血竞技场
2019/03/06 DOTA
浅要分析Python程序与C程序的结合使用
2015/04/07 Python
简单总结Python中序列与字典的相同和不同之处
2016/01/19 Python
R语言 vs Python对比:数据分析哪家强?
2017/11/17 Python
Python有序查找算法之二分法实例分析
2017/12/11 Python
python numpy 部分排序 寻找最大的前几个数的方法
2018/06/27 Python
python文件操作之批量修改文件后缀名的方法
2018/08/10 Python
python 拼接文件路径的方法
2018/10/23 Python
Python3.0 实现决策树算法的流程
2019/08/08 Python
python算的上脚本语言吗
2020/06/22 Python
selenium判断元素是否存在的两种方法小结
2020/12/07 Python
Html5页面中的返回实现的方法
2018/02/26 HTML / CSS
远程调用的原理
2014/07/05 面试题
警示教育活动总结
2014/05/05 职场文书
公司晚会策划方案
2014/05/17 职场文书
助学贷款贫困证明
2014/09/23 职场文书
解决Django transaction进行事务管理踩过的坑
2021/04/24 Python