博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
当用户管理系统遇上python和mongodb后……
阅读量:6505 次
发布时间:2019-06-24

本文共 1591 字,大约阅读时间需要 5 分钟。

  hot3.png

Overview:

  1. 环境
  2. 前言
  3. 效果图
  4. mongdb安装
  5. 代码涉及知识点
  6. 关于windows的cmd下执行python文件显示中文乱码的问题
  7. 总结

0.环境

操作系统:Windows

Python版本:3.6.0

MongoDB版本:4.0.6

1.前言

同学们还记得,前一次小胖用python结合json文本存储实现的用户管理系统么?

注:详见「」

现在小胖将这个代码进行了升级,改成用mongodb来存储用户数据。这样又能学到python操作mongodb的用法了有没有。

2.效果图

2.1 修改密码

在这里插入图片描述

2.2 录入用户

在这里插入图片描述

2.3 查找用户

在这里插入图片描述

2.4 删除用户

在这里插入图片描述

2.5 mongdb 中的数据格式

在这里插入图片描述

3.mongdb安装

3.1 下载

下载链接:

注:官网下载很慢,同学自己搞个会员加速下,你懂的。

3.2 安装

基本是一路下一步,需要注意的地方小胖网上找了几张图来说明。

这里可以自定选择需要安装的东西(小胖选择完全安装,随便你们):

在这里插入图片描述 选择安装路径: 在这里插入图片描述

但是需要注意不要选择一个叫 "install mongoDB compass" 的东西,否则可能要很长时间都一直在执行安装,MongoDB Compass 是一个图形界面管理工具。 在这里插入图片描述 注:小胖自己电脑上下载的是:mongodb-win32-x86_64-2008plus-ssl-4.0.6-signed.msi 这个版本

3.3 配置环境变量

找到mongodb的安装目录,像下面这样配置就行了: 在这里插入图片描述

3.4 启动服务端

小胖将mongodb数据目录指定到了D:\mongodb\底下,这个底下会生成两个目录,data和log。接下来在D:\mongodb\data\这个路径底下再新建一个目录db。

接下来打开cmd,在命令行里执行以下命令:

mongod --dbpath "D:\mongodb\data\db"。

你就会看到mongodb启动了,像下面这样: 在这里插入图片描述

3.5 客户端连接

cmd执行mongo即可

如果mongodb服务端监听在非本地地址,后面添加--host参数填入目标ip地址即可: 在这里插入图片描述

4.代码涉及知识点

4.1 依赖包安装

pip install pymongo

4.2 pymongo的用法

连接数据库: 在这里插入图片描述

插入数据 在这里插入图片描述 insert和save的区别如下:

  • 在插入数据时不指定'_id'这个字段的情况下没有区别
  • 在插入数据时指定'_id'这个字段的情况下,如果插入的数据和数据库已存在的'_id'相同,save会更新数据库的值,而insert会报错,报错内容为键重复

注:本文末提供的代码中,插入数据没有指定'_id',在这种情况下,mongodb会自动帮你生成一个'_id',类似这样{'_id': ObjectId('5c96f27b0988c31554f2bd64'), '用户名': 'hahaha444', '年龄': '48', '电话': '44444'},所以用save还是insert在这里没有区别

查询数据(查询不到则返回None) 在这里插入图片描述 更新数据 在这里插入图片描述 删除数据 在这里插入图片描述

5.关于windows的cmd下执行python文件显示中文乱码的问题

主要是编码格式的问题,windows默认是gbk编码格式。

方法如下:

  1. 确保py文件是UTF-8编码存档的。
  2. 在CMD窗口输入CHCP 65001 回车。(65001是win系统UTF-8的代码)

然后就能正常显示了

6.总结

mongodb的使用还比较复杂的,同学们只要学会了基本用法,就可以开始学着敲本文的代码了。

如果同学们自己实现了,别忘了留言告诉我。有问题也可以留言给我,我们一起讨论。

关注公众号「Python专栏」,后台回复:zsxq08,获取本文全套代码。

Python专栏二维码

转载于:https://my.oschina.net/u/1778027/blog/3031594

你可能感兴趣的文章
理解 C# 泛型接口中的协变与逆变(抗变)
查看>>
大型网站性能监测、分析与优化常见问题Q&A
查看>>
Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
查看>>
idea + plantuml 画流程图
查看>>
应用生命周期终极 DevOps 工具包
查看>>
Angularjs之国际化
查看>>
VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
查看>>
vue-validator demo
查看>>
jquery ajax学习笔记
查看>>
CSS魔法堂:Absolute Positioning就这个样
查看>>
chrome扩展demo1-小时钟
查看>>
如何优雅地使用 Sublime Text
查看>>
zabbix3.2监控linux磁盘IO
查看>>
2017-12-24 手机编程环境初尝试-用AIDE开发Android应用
查看>>
pyqt5的下载进度条 实现模板
查看>>
Flink1.7.2 local WordCount源码分析
查看>>
盘点抖音源码中的广告变现方式
查看>>
星际荣耀获鼎晖投资A+轮投资,上半年将进行首枚入轨运载火箭
查看>>
Linux基础命令---显示路由表route
查看>>
金三银四,2019大厂Android高级工程师面试题整理
查看>>