[英]Mongoose Schema extend timestamp to have new properties (username)
我在將MongoDB
和mongoose
用於需要跟蹤數據創建和更改的項目。 要求是我需要跟蹤記錄的創建和更改,包括日期/時間和執行此操作的應用程序用戶 (而非OS用戶)。
我見過貓鼬時間戳選項可以解決我的日期/時間問題,但是有沒有辦法將其擴展為包括其他屬性,我將在其中添加應用程序用戶名?
如果沒有,我是否可以在一個地方編寫一個可以在每次創建/更新時調用的函數,以便我可以包括/修改這些字段?
今天,我在下面的每個模型中插入了這些屬性,但我想將它們全部移動到一個地方。
var companySchema = mongoose.Schema({
name: {
type: String,
index: true
},
phone: {
type: String
},
deleted: {
type: Boolean
},
createdAt: {
type: Date
},
createdBy: {
type: String
},
updatedAt: {
type: Date
},
updatedBy: {
type: String
}
});
最好的方法是什么?
我將通過創建兩個模型來實現它, 每個創建的數據一個模型, 每個數據更改一個模型。
創建這將有6個字段之一是createdBy,createdAt,以及一個將與數據的變化,deletedBy,deletedAt,deletedFlag的參考ID的陣列的場數據。
數據更改將具有字段dataID ,該字段將具有創建, updatedBy和updatedAt數據的引用ID。
這樣,很容易跟蹤創建時間,更改時間和刪除時間。
PS:您可以刪除Data創建模型中的Array或Data Change模式中的dataID ref id,這只是我在綁定時要格外小心。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.