У меня есть две схемы мангуста, как показано ниже
var ServiceSubType = new Schema({
displaySubTypeName : String,
subTypeDescription : String,
status : { type: String, default: Constants.ACTIVE },
lastUpdatedOn : Date,
createdOn : { type: Date, default: Date.now }
} , { collection: 'SERVICE_SUB_TYPES' });
а также
var ServiceType = new Schema({
displayName : String,
description : String,
status : { type: String, default: Constants.ACTIVE },
lastUpdatedOn : Date,
serviceSubTypeId : {type: Schema.Types.ObjectId, ref: 'ServiceSubType', index: true},
createdBy : { type: Schema.Types.ObjectId, ref: 'SystemUser', index: true },
createdOn : { type: Date, default: Date.now }
} , { collection: 'SERVICE_TYPES' });
Я заполнил объект типа, как показано ниже
module.exports.addNewServiceType = function(serviceType_obj, callback) {
serviceType_obj.save(serviceType_obj,callback);
}
Теперь я пытаюсь заполнить документ ServiceSubType, а затем одновременно пытаюсь заполнить "serviceSubTypeId" объекта ServiceType, на который имеется ссылка на созданный ServiceSubType.
Вот мой фрагмент кода для той же цели.
module.exports.addServiceSubType = function(serviceTypeObjId, serviceSubType_obj, callback) {
serviceSubType_obj.save(serviceSubType_obj, function (error, serviceSubType) {
});
serviceSchema.ServiceType.findById(serviceTypeObjId, function (err, serviceType) {
var opts = { path: 'serviceSubTypeId'};
serviceSchema.ServiceType.populate(serviceType, opts, function (err, user) {
console.log(serviceType);
});
}).exec(callback);
}
Но это не работает и не заполняет какое-либо значение в существующем объекте подтипа.
Я признаю, что мой подход может быть очень неправильным, поскольку я новичок в этой технологии. Благодарим за любую помощь в выполнении этого фрагмента кода должным образом.
Спасибо Ajoy