1
我正在編寫使用Mongoose ODM的Express.js應用程序。 在創建文件/更新,我想它會自動獲得一些字段填入:Mongoose + Express - 在文檔中保存用戶的正確方法是什麼(審計信息)
- createdBy
- createdOn
在我看來,正確的地方來實現,這將是在一個Mongoose插件,用這些屬性擴充文檔,並提供默認和/或貓鼬中間件來填充字段。
但是,我完全不知道如何從插件中的會話中獲取用戶名。 有什麼建議嗎?
/**
* A mongoose plugin to add mandatory 'createdBy' and 'createdOn' fields.
*/
module.exports = exports = function auditablePlugin (schema, options) {
schema.add({
createdBy: { type: String, required: true, 'default': user }
, createdOn: { type: Date, required: true, 'default': now }
});
};
var user = function(){
return 'user'; // HOW to get the user from the session ???
};
var now = function(){
return new Date;
};
你說得對,這個黑客聞起來很腥。我很喜歡這個解決方案,它不會強制我通過每個控制器來爲保存的模型設置用戶,儘管... – 2012-08-02 12:48:08
@LaurentVB我不認爲這是可能的。 – freakish 2012-08-02 12:52:17