0
私は、スキーマのpre-saveフックを使用して変更するモデルを持っています。保存すると、mongooseが変更されたデータを返し、__vが更新され、すべてが見た目になります。しかし、私はモデルを取得するとき、私のモデルはまったく変わっていません...pre-saveフックの変更が維持されない
これは私のソースコードのスリムバージョンです:私はすべての変更を維持する必要があるため
var schema = new Schema({
name: {
type: String,
required: true,
},
version: {
type: Number,
required: false,
},
versions: {
type: Object,
required: false,
},
elements: {
type: Array,
required: false,
},
})
.pre('save', function(next) {
version = Object
.keys(this.versions)
.map(function(key) { return parseInt(key); })
.sort(function(a, b) { return a - b; })
.reverse()[0] + 1;
if (isNaN(version)) {
version = 1;
}
this.versions[version] = {
createdAt: new Date(),
elements: this.elements.slice(),
};
this.elements = null;
})
私はこれを行います特定のバージョンでは、人々が特定のバージョンのデータを読み込むことができるようになりますが、クライアントはこれらについて知ってはならず、単にバージョン番号と正しい要素を取得する必要があります。
私の問題で正しい方向に向けることができますか、私が間違っていることを教えてください。どんな助けでも大歓迎です。