当用户管理系统遇上python和mongodb后……

38次阅读

共计 1492 个字符,预计需要花费 4 分钟才能阅读完成。

Overview:

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

0. 环境
操作系统:Windows
Python 版本:3.6.0
MongoDB 版本:4.0.6
1. 前言
同学们还记得, 前一次小胖用 python 结合 json 文本存储实现的用户管理系统么?
注:详见「手把手教你用 python 实现一个简单用户管理系统」
现在小胖将这个代码进行了升级, 改成用 mongodb 来存储用户数据。这样又能学到 python 操作 mongodb 的用法了有没有。
2. 效果图
2.1 修改密码

2.2 录入用户

2.3 查找用户

2.4 删除用户

2.5 mongdb 中的数据格式

3.mongdb 安装
3.1 下载
下载链接:
https://www.mongodb.com/downl…
注:官网下载很慢,同学自己搞个会员加速下,你懂的。
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:mongodbdata 这个路径底下再新建一个目录 db。
接下来打开 cmd,在命令行里执行以下命令:
mongod –dbpath “D:mongodbdatadb”。
你就会看到 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 编码格式。
方法如下:

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

然后就能正常显示了
6. 总结
mongodb 的使用还比较复杂的,同学们只要学会了基本用法,就可以开始学着敲本文的代码了。
如果同学们自己实现了,别忘了留言告诉我。有问题也可以留言给我,我们一起讨论。
关注公众号「Python 专栏」,后台回复:zsxq08,获取本文全套代码。

正文完
 0