0

我遇到了一个问题,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 } } 应用到用户模式时,它按预期工作,但我想将此插件和可能的其他插件应用于所有模型。

任何帮助或信息表示赞赏!

4

1 回答 1

1

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

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

...
import mongoose from 'mongoose'
import './models/plugins'
import './models
...
于 2022-02-07T22:16:50.557 回答