你可以在Mongoose中定义子文档的实例方法吗?

如果我在Mongoose中有一个Schema,它的定义如下:

var subSchema = new Schema({ some: String }); var topSchema = new Schema({ subs: [subSchema] }); var topModel = mongoose.model("Top", topSchema); 

有没有可能为子文档定义一个实例方法? 我已经尝试了以下(在模型声明之前添加),但它不起作用:

 subSchema.methods.someFn = function() { return 'blah'; }; 

       

网上收集的解决方案 "你可以在Mongoose中定义子文档的实例方法吗?"

回答我自己的问题。

我最初想要做的是创build一个函数,可以在subdocs的集合上使用,如下所示:

 topdoc.subs.someFn(); 

不过,我在原始问题中的代码实际上是为subdoc本身创build了一个函数,如下所示:

 topdoc.subs[i].someFn(); 

这工作。

据我所知,Mongoose不支持创build一个用于收集子目录的函数。

我通过在topSchema中定义一个可以做我想做的事情的方法来解决这个问题。