- MongoEngine 教程
- MongoEngine - 首頁
- MongoEngine - MongoDB
- MongoEngine - MongoDB Compass
- MongoEngine - 物件文件對映器
- MongoEngine - 安裝
- MongoEngine - 連線到 MongoDB 資料庫
- MongoEngine - 文件類
- MongoEngine - 動態模式
- MongoEngine - 欄位
- MongoEngine - 新增/刪除文件
- MongoEngine - 查詢資料庫
- MongoEngine - 過濾器
- MongoEngine - 查詢運算子
- MongoEngine - QuerySet 方法
- MongoEngine - 排序
- MongoEngine - 自定義 QuerySet
- MongoEngine - 索引
- MongoEngine - 聚合
- MongoEngine - 高階查詢
- MongoEngine - 文件繼承
- MongoEngine - 原子更新
- MongoEngine - Javascript
- MongoEngine - GridFS
- MongoEngine - 訊號
- MongoEngine - 文字搜尋
- MongoEngine - 擴充套件
- MongoEngine 有用資源
- MongoEngine - 快速指南
- MongoEngine - 有用資源
- MongoEngine - 討論
MongoEngine - 動態模式
MongoDB 資料庫的優勢之一是它支援動態模式。要建立支援動態模式的類,請將其子類化自 DynamicDocument 基類。以下是具有動態模式的 Student 類:
>>> class student(DynamicDocument): ... name=StringField()
第一步是像以前一樣新增第一個文件。
>>> s1=student()
>>> s1.name="Tara"
>>> connect('mydb')
>>> s1.save()
現在,向第二個文件新增另一個屬性並儲存。
>>> s2=student() >>> setattr(s2,'age',20) >>> s2.name='Lara' >>> s2.save()
在資料庫中,student 集合將顯示兩個具有動態模式的文件。
文件類的 meta 字典可以透過指定 max_documents 和 max_size 來使用帶上限的集合。
max_documents - 允許儲存在集合中的最大文件數。
max_size - 集合的最大大小(以位元組為單位)。在 MongoDB 內部和 mongoengine 之前,max_size 會四捨五入到下一個 256 的倍數。
如果未指定 max_size 而指定了 max_documents,則 max_size 預設為 10485760 位元組(10MB)。
文件類的其他引數如下所示:
| objects | 在訪問時延遲建立的 QuerySet 物件。 |
| cascade_save() | 遞迴儲存文件上的任何引用和泛型引用。 |
| clean() | 在執行驗證之前執行文件級別資料清理的鉤子。 |
| create_index() | 根據需要建立給定的索引。 |
| drop_collection() | 從資料庫中刪除與這種文件型別關聯的整個集合。 |
| from_json() | 將 json 資料轉換為文件例項。 |
| modify() | 對資料庫中的文件執行原子更新,並使用更新後的版本重新載入文件物件。 |
| pk | 獲取主鍵。 |
| save() | 將文件儲存到資料庫。如果文件已存在,則將更新它,否則將建立它。返回已儲存的物件例項。 |
| delete() | 從資料庫中刪除當前文件。 |
| insert() | 執行批次插入操作。 |
廣告