import _ from 'lodash'
import mongoose from 'mongoose'
// schema with plugin
import EntitySchema from '../entity.model'
// creating clone of paths for cleanliness
const schemaType = _.cloneDeep(EntitySchema.paths)
// new schema, free of plugins
const newSchema = new mongoose.Schema(schemaType)
2条答案
按热度按时间1sbrub3j1#
插件在模式上设置中间件。在我的例子中,插件
timestamp
注册了这个中间件我无法设法从模式中删除这个中间件 (这里是关于如何访问注册的中间件)。
解决方案
我用完全相同的SchemaType创建了一个新的Schema示例。然后我避免添加插件。
要创建具有相同schemaType的模式,只需访问属性
paths
zi8p0yeb2#
您可以通过名称搜索插件,并从
mongoose.plugins
列表中删除特定索引: