资讯专栏INFORMATION COLUMN

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

keithyau / 3311人阅读

摘要:安装基本是一路下一步,需要注意的地方小胖网上找了几张图来说明。这里可以自定选择需要安装的东西小胖选择完全安装,随便你们选择安装路径但是需要注意不要选择一个叫的东西,否则可能要很长时间都一直在执行安装,是一个图形界面管理工具。

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,获取本文全套代码。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/43530.html

相关文章

  • MongoDB遇上Spring

    摘要:每个条件必须引用一个属性,并且还可以指定一种比较操作。如果省略比较操作符的话,那么这暗指是一种相等比较操作。 Spring-data对MongoDB进行了很好的支持,接下来就讲解一下关于Spring对MongoDB的配置和一些正常的使用 我下面的工程使用的是Spring的Java配置的方式和Maven构建 具体的工程代码大家可以访问我的Github地址:https://github.c...

    Lorry_Lu 评论0 收藏0
  • MongoDB遇上Spring

    摘要:每个条件必须引用一个属性,并且还可以指定一种比较操作。如果省略比较操作符的话,那么这暗指是一种相等比较操作。 Spring-data对MongoDB进行了很好的支持,接下来就讲解一下关于Spring对MongoDB的配置和一些正常的使用 我下面的工程使用的是Spring的Java配置的方式和Maven构建 具体的工程代码大家可以访问我的Github地址:https://github.c...

    fai1017 评论0 收藏0
  • Tornado 简单入门教程(零)——准备工作

    摘要:学的过程中查阅了无数资料,也收获了一些经验,所以希望总结出一份简易入门教程供初学者参考。完整的教程将尽可能遵循下面的目录顺序。安装的安装也很简单。搭建简单服务器表示不是必要的这里仅以做示范,其他系统操作方法类似。 前言: 这两天在学着用Python + Tornado +MongoDB来做Web开发(哈哈哈这个词好高端)。学的过程中查阅了无数资料,也收获了一些经验,所以希望总结出一份...

    lifefriend_007 评论0 收藏0
  • Tornado 简单入门教程(零)——准备工作

    摘要:学的过程中查阅了无数资料,也收获了一些经验,所以希望总结出一份简易入门教程供初学者参考。完整的教程将尽可能遵循下面的目录顺序。安装的安装也很简单。搭建简单服务器表示不是必要的这里仅以做示范,其他系统操作方法类似。 前言: 这两天在学着用Python + Tornado +MongoDB来做Web开发(哈哈哈这个词好高端)。学的过程中查阅了无数资料,也收获了一些经验,所以希望总结出一份...

    springDevBird 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<