你可以在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'; };
回答我自己的问题。
我最初想要做的是创build一个函数,可以在subdocs的集合上使用,如下所示:
topdoc.subs.someFn();
不过,我在原始问题中的代码实际上是为subdoc本身创build了一个函数,如下所示:
topdoc.subs[i].someFn();
这工作。
据我所知,Mongoose不支持创build一个用于收集子目录的函数。
我通过在topSchema中定义一个可以做我想做的事情的方法来解决这个问题。
- Node.js MongoDB – 如何使用Mongoose更新多个文档?
- 如何防止由mongodb支持的分布式nodejs web服务器体系结构中的竞争条件
- 在总输出中组合不同的分组总计
- Mongooseasynchronous/等待与Koa卡住await Model.findOne()。exec()
- 强制mongoose.savecallback等待写入完成
- 如何使用mongoose/与ringojs快递
- JS – Express – Mongoose在发送响应之前执行所有mongoose的承诺
- 在MongoDB中设置伪造的数据进行testing
- Mongoose $ pull是删除嵌套的整个数组,而不是数组中的单个值