【问题标题】:How to add a "pre" middleware to mongoose model AFTER creating the model创建模型后如何向猫鼬模型添加“预”中间件
【发布时间】:2020-06-19 10:35:19
【问题描述】:

在从模式创建模型后,我需要将pre mongoose 中间件添加到模型(不是模式)。

const mongoose = require('mongoose');
const FooSchema = new mongoose.Schema({
    foo: String
});
const FooModel = mongoose.model('Foo', FooSchema);

然后在运行时的中间

 FooModel.schema.pre('save', myMiddleware);

但是,经过一些调试,我发现所有的中间件都必须在创建模型之前添加

有没有办法在模型创建之后添加我的中间件?

【问题讨论】:

  • @SyedAyeshaBebe 谢谢。但它根本没有回答我的问题。
  • 您为什么要尝试将架构(并且分配方法挂钩正在修改)修改为现有模型?如果有的话,您可能想注册一个新模型。你应该解释你的意图,而不仅仅是事后的结果。
  • 你可以使用FooModel.schema.post('save', middleware)schema.post
  • @AlexandruOlaru 试过了。不适用于pre
  • 面临同样的问题。我想在从模式创建模型后添加中间件。有没有什么办法可以在创建模型后注册中间件?

标签: node.js mongoose mongoose-schema


【解决方案1】:

不幸的是,猫鼬没有这种可能性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-20
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 2016-03-09
    • 1970-01-01
    • 2015-09-16
    相关资源
    最近更新 更多