Hi,
we're experiencing the following error when nested discriminators are used in models:
/home/developer/repos/rc-suite/packages/backend/node_modules/mongoose-autopopulate/index.js:225
if (schemaStack.has(schema)) {
^
TypeError: Cannot read properties of undefined (reading 'has')
at eachPathRecursive (/home/developer/repos/rc-suite/packages/backend/node_modules/mongoose-autopopulate/index.js:225:19)
at /home/developer/repos/rc-suite/packages/backend/node_modules/mongoose-autopopulate/index.js:240:11
at Schema.eachPath (/home/developer/repos/rc-suite/packages/backend/node_modules/mongoose/lib/schema.js:1484:5)
at eachPathRecursive (/home/developer/repos/rc-suite/packages/backend/node_modules/mongoose-autopopulate/index.js:233:10)
at getPathsToPopulate (/home/developer/repos/rc-suite/packages/backend/node_modules/mongoose-autopopulate/index.js:154:3)
at autopopulatePlugin (/home/developer/repos/rc-suite/packages/backend/node_modules/mongoose-autopopulate/index.js:4:27)
at Schema.plugin (/home/developer/repos/rc-suite/packages/backend/node_modules/mongoose/lib/schema.js:1884:3)
at _buildSchema (/home/developer/repos/rc-suite/packages/backend/node_modules/@typegoose/typegoose/lib/internal/schema.js:119:21)
at buildSchema (/home/developer/repos/rc-suite/packages/backend/node_modules/@typegoose/typegoose/lib/typegoose.js:145:37)
at getModelForClass (/home/developer/repos/rc-suite/packages/backend/node_modules/@typegoose/typegoose/lib/typegoose.js:77:41)
It looks like there is missing schemaStack argument in eachPathRecursive method calling on index.js line 248
When the schemaStack argument is added (see below), everything works as expected.
...
if (schemaType.schema.discriminators != null) {
for (const discriminatorName of Object.keys(schemaType.schema.discriminators)) {
eachPathRecursive(schemaType.schema.discriminators[discriminatorName], handler, path, schemaStack);
}
}
...
Our npm packages stack:
Package
Version
mongoose
~7.1.0
mongoose-autopopulate
^1.0.0
@typegoose/typegoose
^11.1.0
Is it just a not-yet discovered typo or is there something more behind the not-used schemaStack argument?
Hi, we're experiencing the following error when nested discriminators are used in models:
It looks like there is missing
schemaStack
argument ineachPathRecursive
method calling on index.js line 248When the
schemaStack
argument is added (see below), everything works as expected.Is it just a not-yet discovered typo or is there something more behind the not-used
schemaStack
argument?Thanks and regards, Jan Kacina