如果我在Mongoose中有一个定义为:
的Schemavar subSchema = new Schema({
some: String
});
var topSchema = new Schema({
subs: [subSchema]
});
var topModel = mongoose.model("Top", topSchema);
是否可以为子文档定义实例方法?我尝试了以下(在模型声明之前添加),但它不起作用:
subSchema.methods.someFn = function() {
return 'blah';
};
答案 0 :(得分:3)
回答我自己的问题。
我最初想要做的是创建一个可以在subdocs集合上使用的函数,如:
topdoc.subs.someFn();
但是,我在原始问题中实际使用的代码是为子目录创建一个函数,如:
topdoc.subs[i].someFn();
这很有效。
据我所知,Mongoose不支持为subdocs集合创建函数。
我通过在topSchema中定义一个可以做我想要的方法来解决这个问题。