Automattic/mongoose · error · Error
Discriminator "${name}" can only be a discriminator of the r
Error message
Discriminator "${name}" can only be a discriminator of the root model What it means
Error "Discriminator "${name}" can only be a discriminator of the root model" thrown in Automattic/mongoose.
Source
Thrown at lib/helpers/model/discriminator.js:79
}
}
}
}
/*!
* ignore
*/
module.exports = function discriminator(model, name, schema, tiedValue, applyPlugins, mergeHooks, overwriteExisting) {
if (!schema?.instanceOfSchema) {
throw new Error('You must pass a valid discriminator Schema');
}
mergeHooks = mergeHooks == null ? true : mergeHooks;
if (model.schema.discriminatorMapping &&
!model.schema.discriminatorMapping.isRoot) {
throw new Error('Discriminator "' + name +
'" can only be a discriminator of the root model');
}
if (applyPlugins) {
const applyPluginsToDiscriminators = get(model.base,
'options.applyPluginsToDiscriminators', false) || !mergeHooks;
// Even if `applyPluginsToDiscriminators` isn't set, we should still apply
// global plugins to schemas embedded in the discriminator schema (gh-7370)
model.base._applyPlugins(schema, {
skipTopLevel: !applyPluginsToDiscriminators
});
} else if (!mergeHooks) {
applyBuiltinPlugins(schema);
}
const key = model.schema.options.discriminatorKey;
const existingPath = model.schema.path(key);View on GitHub (pinned to 49cdab0136)
When it happens
Trigger: Thrown at lib/helpers/model/discriminator.js:79 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Automattic/mongoose@49cdab0136 (2026-08-21).
Data as JSON: /api/errors/b636f0252a668709.
Report an issue: GitHub.