Mongoose ODM を使用する Express.js アプリを作成しています。ドキュメントが作成/更新されると、いくつかのフィールドが自動的に入力されるようにしたい:
- によって作成された
- 作成日
それを実装するのに適切な場所は、それらのプロパティでドキュメントを拡張し、フィールドにデータを入力するためのデフォルトおよび/またはマングース ミドルウェアを提供する 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;
};