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/download-center/community
注:官网下载很慢,同学自己搞个会员加速下,你懂的。
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,获取本文全套代码。