Closed xidui closed 8 years ago
I defined a mysql model
{ id: {type: 'number'} some_object: {type:'text'} }, { hooks: { beforeSave: function (next){ this.some_object = JSON.stringify(this.some_object); return next(); }, afterLoad: function (next){ this.some_object = JSON.parse(this.some_object); return next(); } } }
Every time I use it, it want the field is already a JSON obj and text in db
Seems that there is a caching mechanism:
afterLoad
beforeSave
how about calling the afterLoad hook no matter it is in cache or not?
The cache is not a cache but an implementation of the identity pattern. It will not improve performance, so you might as well not use it.
@dxg How can I call afterLoad every time I use the model.get
model.get
I defined a mysql model
Every time I use it, it want the field is already a JSON obj and text in db
Seems that there is a caching mechanism:
afterLoad
will not be called when I do some search thingbeforeSave
hook is called at last, so the some_object in memory is text not objhow about calling the
afterLoad
hook no matter it is in cache or not?