【发布时间】:2016-07-11 04:32:24
【问题描述】:
我有两个猫鼬模式如下
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 文档,然后同时尝试填充引用创建的 ServiceSubType 的 ServiceType 对象的“serviceSubTypeId”。
这是我用于相同目的的一段代码。
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);
}
但它不是 workign 并且没有填充现有子类型对象中的任何值。
我承认我的方法可能非常错误,因为我是这项技术的新手。感谢您按预期运行这段代码的任何帮助。
谢谢 开心
【问题讨论】:
标签: node.js mongoose mongoose-populate