🔹 Django 串接 MongoDB
- MongoDB 是一款 NoSQL(非關聯式)資料庫
- MongoDB 適合 大數據應用、即時串流、靈活的 JSON 儲存
- Django 需額外安裝 MongoDB 驅動程式。
🔹 安裝 MongoDB 套件
pip install django-rest-framework-mongoengine
poetry add django-rest-framework-mongoengine
🔹 在 MongoDB 建立資料庫
use blog_db
- MongoDB 無需手動建立資料表,Django ORM 會自動建立 Collection。
🔹 修改 Django 的settings.py
INSTALLED_APPS = [
'rest_framework',
'rest_framework_mongoengine',
]
DATABASES = {
'default': {
'ENGINE': 'djongo',
'NAME': 'blog_db',
'HOST': 'localhost',
'PORT': 27017,
}
}
🔹 執行資料庫遷移
- MongoDB 不支援 Django 傳統的
migrate
,因此需使用 syncdb
:
python manage.py syncdb
🔹 注意事項
-
MongoDB 不適合關聯式資料,如需要 JOIN 查詢,請考慮使用 PostgreSQL 或 MySQL
-
若 MongoDB 連線失敗,請確認 MongoDB 服務已啟動(
systemctl start mongod
)
-
djongo
支援 Django ORM,但部分 SQL 功能不適用,如 ForeignKey
🔹 參考文件