嵌套模式上的猫鼬方法

时间:2018-11-13 17:00:56

标签: node.js mongodb mongoose

我将一些方法附加到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.

对于具有复杂嵌套模式的模型而言,这似乎非常笨拙。我一定做错了。

0 个答案:

没有答案