J'utilise MongoDB
et mongoose
pour un projet qui a besoin de suivre la création de données et les changements. Les exigences sont que j'ai besoin de garder une trace de la création des enregistrements et des changements, y compris la date/heure et l'utilisateur de l'application (pas l'utilisateur du système d'exploitation) qui l'a fait.Mongoose Schema étendre timestamp pour avoir de nouvelles propriétés (nom d'utilisateur)
J'ai vu l'option mongoose timestamps qui résoudrait mon problème date/heure, mais est-il possible de l'étendre pour inclure des propriétés supplémentaires, où je vais ajouter le nom d'utilisateur de l'application? Sinon, y a-t-il un seul endroit où je peux écrire une fonction qui sera appelée sur chaque création/mise à jour pour que je puisse inclure/modifier ces champs?
Aujourd'hui j'insère ces propriétés sur tous les modèles comme ci-dessous, mais j'aimerais les déplacer tous à un seul endroit.
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
}
});
Comment serait la meilleure approche pour cela?