У меня есть два мангуста схемы следующим образомMongoose Populate Метод не заселять значение
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» ServiceT объект ype, ссылающийся на созданный 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);
}
Но он не подгоняет и не заносит никаких значений в существующий объект SubType.
Я признаю, что мой подход может быть очень неправильным, поскольку я очень новичок в этой технологии. Оцените любую помощь для запуска этой части кода, как и ожидалось.
Благодаря Ajoy
Я пробовал его .. но он дает ошибку, как новый MongooseError.MissingSchemaError (name); ^ MissingSchemaError: схема не была зарегистрирована для модели "SERVICE_SUB_TYPES". –
Мне кажется, что я делаю фундаментальную ошибку. –
Я обновил свой ответ с помощью некоторого примера кода, который я написал некоторое время назад. надеюсь, это поможет. –