1. 程式人生 > >Windows10系統下Django操作MongoDB資料庫

Windows10系統下Django操作MongoDB資料庫

一、安裝配置MongoDB

1、下載安裝包(.msi)

2、執行安裝包,完成安裝(MSI格式)

  • 開啟安裝包,同意軟體安裝條約(基本操作)
  • 選擇Custom(自定義)
  • 選擇自定義的安裝目錄,也可以預設路徑
  • 取消自動建立服務(如果選中這個,之後的安裝接近結束時會提醒許可權不足,無法啟動服務,即使使用管理員許可權開啟依然提示許可權不足,如果選擇Ignore(忽視),則建立的MongoDB服務將無法開啟。所以取消自動建立服務,在安裝完畢後手動配置檔案並建立服務)
  • 之後一路Next直到安裝完成

3、配置MongoDB

(1) 建立環境變數

在系統高階設定中配置環境變數,在path中新增MongoDB安裝目錄下的bin檔案目錄路徑,具體方法請自行百度

(2)建立配置檔案
  • 在安裝目錄下新建data,存放資料檔案
  • 在安裝目錄下新建logs/mongod.log ,存放日誌檔案
  • 新建config/mongod.cfg,存放配置檔案
  • 在mongod.cfg中寫入內容
systemLog:
    destination: file
    path: D:\mongodb\logs\mongod.log
    logAppend: true
storage:
    dbPath: D:\mongodb\data


# 注意:
# 1、路徑為安裝目錄路徑,需要根據各自安裝目錄修改
# 2、檔案編碼格式需要儲存為utf-8格式
# 3、縮排位置不能使用Tab鍵,只能使用空格

  • 以管理員方式開啟cmd或PowerShell(PowerShell不穩定,有時候無法識別mongod.exe),在MongoDB的bin目錄下輸入 mongod.exe --dbpath="D:\mongodb\data" --logpath="D:\mongodb\logs\mongod.log" --config "D:\mongodb\config\mongod.cfg" --install建立服務(也可以分開寫)
  • 輸入 net start mongodb(windows不區分大小寫)開啟服務
# MongoDB服務操作命令
# 開啟
# net start MongoDB
# 關閉
# net stop MongoDB
# 移除服務(配置環境變數後,如果沒有配置需要先進入bin目錄)
mongod.exe --remove --serviceName "MongoDB"  

二、Django中配置MongoDB

1、安裝mongoengine

在管理員模式下開啟控制檯,輸入pip install mongoengine,將自動安裝mongoenginepymongo

2、Django專案基本配置

(1) 建立Django專案,配置基本內容(建立app、配置url等)
(2) 配置連結MongoDB資料庫

在settings.py檔案中修改

# 將DATABASES欄位直接刪除或註釋

# 寫入連線欄位
from mongoengine import connect
# 單純連結資料庫
connect("test")
# 用使用者名稱狀態
connect("test", username='123', password='123')
# 遠端連線,host可以為url地址
connect("test", host="127.0.0.1", port=27071, alias='default')

3、 Django中使用MongoDB

(1) 配置models.py檔案
from django.db import models
import mongoengine
# Create your models here.

class Users(mongoengine.Document):
    username = mongoengine.StringField(max_length=64)
    password = mongoengine.StringField(max_length=64)

# 注意:
# 1、此為我測試的使用者表,可根據此格式建立其他內容
# 2、如果不指定主鍵,系統會自動建立id為主鍵,但與其他資料庫不同的是,主鍵id不再是整型遞增資料,而是一個MongoDB內建的由隨機的字串組成的id物件
# 3、括號裡引數大多與其他資料庫類似,可直接使用
# 4、與使用其他資料庫不同,MongoDB在構建好models.py之後不用遷移資料庫,直接使用即可,在呼叫資料庫時會自動生成
(2) views.py中操作MongoDB的方法

Django封裝很完善,呼叫不同資料庫只需要修改settings和models檔案即可,views內操作與其他資料庫操作相同,再此只舉幾個簡單的增刪改查操作

from .models import Users

# 增加
Users.objects.create(username="456", password="789")

# 刪除
Users.objects.filter(username="123").first().delete()

# 修改
Users.objects.filter(username="aaa").first().update(password="123")

# 查詢
# 查詢所有
Users.objects.all()
# 篩選內容
Users.objects.filter(username="aaa")
# 獲得第一個
Users.objects.filter(username="aaa").first()
# 獲得數量
Users.objects.filter(username="aaa").count()

(3)驗證

因為只是測試,沒有具體前端顯示內容,所以在views中程式碼執行之後可以進入MongoDB中檢視資料庫中內容
以下提供簡略的操作命令列程式碼

Show dbs 查詢庫
Use dbsName 切換庫
Show tables 查詢表
Db.tableName.find() 查詢表