К сожалению, это долговременная проблема с мангустом, который, я считаю, еще не решен:
https://github.com/LearnBoost/mongoose/issues/570
Что вы можете сделать, это написать собственный пользовательский getter / setter (и установить real _customer
в отдельном свойстве) для этого. Например:
var get_creator = function(val) {
if (this.hasOwnProperty( "__creator" )) {
return this.__creator;
}
return val;
};
var set_creator = function(val) {
this.__creator = val;
return val;
};
var bookSchema = new mongoose.Schema({
_creator: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User',
get: get_creator,
set: set_creator
},
description: String,
});
ПРИМЕЧАНИЕ. Я не тестировал его, и он мог бы работать странно с .populate
и при установке чистого идентификатора.