【问题标题】:Mongoose global plugins not working (ES6)Mongoose 全局插件不起作用(ES6)
【发布时间】:2022-01-03 22:22:58
【问题描述】:

我遇到了mongoose.plugin() 的问题,并且似乎没有任何全局插件更改影响架构。

除了导入之外,我还尝试直接在同一个 index.js 文件中编写插件,并删除指针函数。全局插件似乎没有生效。我只是想将toJSON: { virtuals: true } 应用于所有模型。

"mongoose": "^6.0.12"
import test from './plugins/test.js'
...

// Plugins
mongoose.plugin(test)
...

// Models
import './user.js'
...

test.js 内容:

export default (schema) => {
  schema.set('toJSON', { ...schema.get('toJSON'), virtuals: true })

  return schema
}

当我直接将 { toJSON: { virtuals: true } } 应用到用户架构时,它会按预期工作,但我想将此插件和可能的其他插件应用到所有模型。

感谢任何帮助或信息!

【问题讨论】:

    标签: javascript mongoose ecmascript-6 mongoose-schema mongoose-plugins


    【解决方案1】:

    我通过将插件和模型拆分为单独的文件并创建了一个 index.js 来导入所有插件来实现它。

    现在我在app.js 中首先导入插件,然后是模型:

    ...
    import mongoose from 'mongoose'
    import './models/plugins'
    import './models
    ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-13
      • 1970-01-01
      • 1970-01-01
      • 2016-12-30
      • 2018-06-06
      • 2011-11-23
      • 1970-01-01
      相关资源
      最近更新 更多