我正在编写一个使用 Mongoose ODM 的 Express.js 应用程序。创建/更新文档时,我希望它自动填充一些字段:
- 由...制作
- 创建于
在我看来,实现该功能的正确位置是在 Mongoose 插件中,该插件使用这些属性扩充文档并提供默认值和/或 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;
};