當用戶管理系統遇上python和mongodb后……

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文本存儲實現的用戶管理系統么?

注:詳見「手把手教你用python實現一個簡單用戶管理系統

現在小胖將這個代碼進行了升級,改成用mongodb來存儲用戶數據。這樣又能學到python操作mongodb的用法了有沒有。

2.效果圖

2.1 修改密碼

《當用戶管理系統遇上python和mongodb后……》

2.2 錄入用戶

《當用戶管理系統遇上python和mongodb后……》

2.3 查找用戶

《當用戶管理系統遇上python和mongodb后……》

2.4 刪除用戶

《當用戶管理系統遇上python和mongodb后……》

2.5 mongdb 中的數據格式

《當用戶管理系統遇上python和mongodb后……》

3.mongdb安裝

3.1 下載

下載鏈接:

https://www.mongodb.com/download-center/community

注:官網下載很慢,同學自己搞個會員加速下,你懂的。

3.2 安裝

基本是一路下一步,需要注意的地方小胖網上找了幾張圖來說明。

這裏可以自定選擇需要安裝的東西(小胖選擇完全安裝,隨便你們):

《當用戶管理系統遇上python和mongodb后……》
選擇安裝路徑:
《當用戶管理系統遇上python和mongodb后……》

但是需要注意不要選擇一個叫 “install mongoDB compass” 的東西,否則可能要很長時間都一直在執行安裝,MongoDB Compass 是一個圖形界面管理工具。
《當用戶管理系統遇上python和mongodb后……》
注:小胖自己電腦上下載的是:mongodb-win32-x86_64-2008plus-ssl-4.0.6-signed.msi 這個版本

3.3 配置環境變量

找到mongodb的安裝目錄,像下面這樣配置就行了:
《當用戶管理系統遇上python和mongodb后……》

3.4 啟動服務端

小胖將mongodb數據目錄指定到了D:\mongodb\底下,這個底下會生成兩個目錄,data和log。接下來在D:\mongodb\data\這個路徑底下再新建一個目錄db。

接下來打開cmd,在命令行里執行以下命令:

mongod –dbpath “D:\mongodb\data\db”。

你就會看到mongodb啟動了,像下面這樣:
《當用戶管理系統遇上python和mongodb后……》

3.5 客戶端連接

cmd執行mongo即可

如果mongodb服務端監聽在非本地地址,後面添加–host參數填入目標ip地址即可:
《當用戶管理系統遇上python和mongodb后……》

4.代碼涉及知識點

4.1 依賴包安裝

pip install pymongo

4.2 pymongo的用法

連接數據庫:
《當用戶管理系統遇上python和mongodb后……》

插入數據
《當用戶管理系統遇上python和mongodb后……》
insert和save的區別如下:

  • 在插入數據時不指定’_id’這個字段的情況下沒有區別
  • 在插入數據時指定’_id’這個字段的情況下,如果插入的數據和數據庫已存在的’_id’相同,save會更新數據庫的值,而insert會報錯,報錯內容為鍵重複

注:本文末提供的代碼中,插入數據沒有指定’_id’,在這種情況下,mongodb會自動幫你生成一個’_id’,類似這樣{‘_id’: ObjectId(‘5c96f27b0988c31554f2bd64’), ‘用戶名’: ‘hahaha444’, ‘年齡’: ’48’, ‘電話’: ‘44444’},所以用save還是insert在這裏沒有區別

查詢數據(查詢不到則返回None)
《當用戶管理系統遇上python和mongodb后……》
更新數據
《當用戶管理系統遇上python和mongodb后……》
刪除數據
《當用戶管理系統遇上python和mongodb后……》

5.關於windows的cmd下執行python文件显示中文亂碼的問題

主要是編碼格式的問題,windows默認是gbk編碼格式。

方法如下:

  1. 確保py文件是UTF-8編碼存檔的。
  2. 在CMD窗口輸入CHCP 65001 回車。(65001是win系統UTF-8的代碼)

然後就能正常显示了

6.總結

mongodb的使用還比較複雜的,同學們只要學會了基本用法,就可以開始學着敲本文的代碼了。

如果同學們自己實現了,別忘了留言告訴我。有問題也可以留言給我,我們一起討論。

關注公眾號「Python專欄」,後台回復:zsxq08,獲取本文全套代碼。

点赞

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *