我将一些方法附加到childSchema,将其嵌套在parentSchema中,然后对parentSchema进行建模。发生这种情况时,childSchema似乎未定义。这似乎是Mongoose文档告诉我的操作,但是没有用。谁能解释?
var childSchema = new Schema({name: 'string' });
childSchema.methods.getname = function () {
return this.name;
};
var Child = mongoose.model('Child', childSchema);
var parentSchema = new Schema({
child: childSchema
});
var Parent = mongoose.model('Parent', parentSchema);
const parent = new Parent();
parent.child.getName(); // This does not work. Can't getName of undefined
//Instead I have to do:
const parent = new Parent();
parent.child = new Child();
parent.child.getName(); // This works.
var childSchema = new Schema({name: 'string' });
childSchema.methods.getname = function () {
return this.name;
};
var Child = mongoose.model('Child', childSchema);
var parentSchema = new Schema({
child: childSchema
});
var Parent = mongoose.model('Parent', parentSchema);
const parent = new Parent();
parent.child.getName(); // This does not work. Can't getName of undefined
//Instead I have to do:
const parent = new Parent();
parent.child = new Child();
parent.child.getName(); // This works.
对于具有复杂嵌套模式的模型而言,这似乎非常笨拙。我一定做错了。